2017-06-16 12 views
-1

Ist es möglich, Versprechen zu verketten, während Sie das Ergebnis des zuvor genannten Versprechens verwenden? Ich möchte vermeiden, Spaghetti-Code wie folgt zu schreiben.Javascript: Verkettung zweier Versprechen

getURL().then(function(a) { 

    getURL().then(function(b) { 
     var c = a + b; 
    }); 
}); 

Ich würde viel lieber etwas wollen, wie diese

var a = getURL(); 
a.then(function(b) { 
    var c = a + b; 
}); 

Wie kann ich die getURL laufen() zweimal und dann c auf das Ergebnis der Verheißung abhängig berechnet 1 und versprechen 2.

+0

Haben Sie versucht, diese vor der Veröffentlichung? –

+0

Ja, das ist möglich und wahrscheinlich der häufigste Anwendungsfall. In Ihrem zweiten Beispiel ist b das Ergebnis, das in (in getURL) aufgelöst wurde. – matmo

+0

Wie kann ich getURL das zweite Mal ausführen und das Ergebnis davon verwenden? @matmo – Fullhdpixel

Antwort

1

Promise.all

Promise.all([Promise.resolve(1), Promise.resolve(2)]).then(([value1, value2]) => { 
    const c = value1 + value2; 
    ..... 
}); 
+0

danke das funktioniert – Fullhdpixel

Verwandte Themen