2016-05-21 10 views
0

ここに問題があります。まず、多くのjQuery約束($.ajaxで定義)があり、データの解析と約束の別のブロックの作成によって返された値に基づいて行動する必要があります。私のコードは次のようになります例えばQで複数の約束ブロック内の複数の約束を解決する方法

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

を "連鎖" に解決策を見つけました'spread'を使うべきではありません。 – Bergi

答えて

0

あなたがresponses` `の配列をしたい場合は、私は、ここに

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 higherScopeResult' - 何を待つ? – Bergi

+0

@Bergi申し訳ありませんが、関連コードの残りの部分は含めませんでした。最終結果を保存して、それを 'done'または別の' then'で処理したい場合は、最初の約束の外に保存する必要があります – MayTheSchwartzBeWithYou

+1

[いいえ、必要はありません](http://stackoverflow.com/q/28250680/1048572)、あなたはほとんど確実にすべきではありません。 – Bergi

関連する問題