Ich versuche, Versprechen in AWS Lambda zu verwenden und habe einige Probleme. Ich benutze typescript/nodejs; siehe Code untenAusführung nicht warten auf Versprechen Ergebnis in AWS Lambda
export function handler(event: any, context: any, callback: Function){
testFunction().then(data => callback(null, "success from promise"));
callback(null, "success");
}
export function testFunction(){
return new Promise((resolve, reject) => {
setTimeout(() => resolve("data"), 5000);
});
}
Wenn ich den Code ausführen ich erhalte den „Erfolg Rückruf“ statt den „Erfolg von Versprechen“. Mache ich hier etwas falsch?
Es wird nicht warten, während Sie Ihre Funktion auflösen, bevor die Ausführung des Versprechens abgeschlossen ist. Wenn Sie 'callback (null," success ") entfernen;' sehen Sie das Ergebnis, das Sie erwarten. –
Kann ich warten, bis die testFunction-Verzögerung beendet ist, bevor ich zur nächsten Codezeile übergehe? – mattc19