ich in einem isolierten Kontext zu arbeiten habe den folgenden Code nicht in der Lage:Union Typ
if (event.hasOwnProperty('body')) {
Context.request = JSON.parse(event.body) as T;
} else {
Context.request = event;
}
wo event
wie folgt definiert ist:
private static event: aws.IGatewayEvent | ut.IGenericEvent;
Die erste Definition hat ein „Körper“ Attribut, das Sekunde nicht. Ich würde nach wie vor davon aus, dass meine bedingte Anweisung lassen sollte Typoskript sehen, dass der einzige Fall, links - aka, wo das Objekt implementiert die aws.IGatewayEvent
-Schnittstelle - und nicht dem Fehler geben:
Property 'body' does not exist on type 'IGenericEvent | IGatewayEvent'.
sehr ähnliche Frage https://stackoverflow.com/questions/43496154/accessing-different-properties-in-a-typescript-union-type – artem
Das ist ein Nützlicher Link @artem aber ich habe immer noch die gleichen Fehler, wenn ich die Typüberprüfung zu einer Funktion abstrahiere. – ken