Ich habe die folgenden Code-Snippet. Es hat eine Funktion fn1
, die eine promise
Variable definiert. Die promise
speichert das Versprechen Objekt Rückgabe von fn2
. Ich habe then
auf diesem promise
Objekt aufgerufen und schließlich das promise
zurückgegeben.Return-Versprechen Variable der Hauptfunktion nach dem "dann" Zweig
function fn1() {
var promise = fn2(a, b);
promise.then(function() {
console.log('handling then');
console.log('doing something');
});
return promise;
}
Da der then
Zweig Asynchron-Code ist, ist mein Verständnis, wenn die innere Funktion ist async die äußere Funktion verhält sich auch in asynchroner Weise. Aber das Problem ist das promise
Objekt wird zurückgegeben, bevor der Code innerhalb then
abgeschlossen wird.
Ich habe versucht, das promise
Objekt innerhalb then
wie unten angegeben. Aber das gibt nicht die in fn1
definierte promise
zurück.
Bitte helfen Sie, wie ich dies umgehen kann. Vielen Dank.
Was möchten Sie erreichen? Es kann sein, dass Sie die falsche Methode wählen ("Rückkehr" nach einem asynchronen Anruf ist nicht wirklich hilfreich). – Hodrobond
@Hodrobond - Ich brauche das Versprechen Objekt zurückgegeben werden, weil ein anderes Stück Code dieses Versprechen Objekt verwendet, um etwas anderes zu tun. Was ist der Workaround dafür? – Harish