2016-05-21 9 views
0

gelöst werden So, hier ist das Problem. Für den Anfang habe ich viele jQuery Versprechungen (definiert mit $.ajax) und ich muss auf die Werte reagieren, die durch das Parsen der Daten und das Machen eines anderen Blockes der Versprechen zurückgebracht werden.Wie mehrere Versprechungen in einem Mehrfachversprechen-Block mit Q

Zum Beispiel mein Code würde wie folgt aussehen:

Q.all(promisesArray).spead(function(){ 
let responses = Array.prototype.slice.call(arguments); 
....... parse the data and get a result array which I need to use to make more promises 

    What do I do here? 
     Q.all(otherPromisesArray).spread(function(){....}) does not work 
}); 
+1

Wenn Sie ein Array von 'responses' wollen, Du solltest "Spread" nicht verwenden. – Bergi

Antwort

0

fand ich die Lösung hier auf "Chaining"

https://github.com/kriskowal/q

let higherScopeResult = [] 
Q.all(promisesArray).then(function(){ 
    let responses = Array.prototype.slice.call(arguments)[0]; 
    ..... do things ...... 
    return Q.all(otherPromisesArray).then(function(){....}); 
}); 
+0

'Let HighScopeResult' - was warte? – Bergi

+0

@Bergi Sorry, nicht den Rest des verwandten code.Wenn Sie das Endergebnis speichern möchten und verarbeiten es in 'done' oder einem anderen' then' müssen Sie es außerhalb der ersten Versprechen speichern – MayTheSchwartzBeWithYou

+1

[Nein, Sie muss nicht] (http://stackoverflow.com/q/28250680/1048572), und Sie sollten fast sicher nicht. – Bergi

Verwandte Themen