$q
の仕組みにはかなり慣れていますし、anglejsでそれを使用して解決することを約束し、$q.all()
で解決することを約束します。
これは可能なのかどうかわかりません(正しく動作すれば):私は1つの約束を待つことができますか? 。個々の約束の成功コールバックは、例えば...終了した後:
var promises = [];
for(i=1, i<5, i++){
var singlePromise = SomeSevice.getData();
promises.push(singlePromise);
singlePromise.then(function(data){
console.log("This specific promise resolved");
});
}
// note: its important that this runs AFTER the code inside the success
// callback of the single promise runs ....
$q.all(promises).then(function(data){
console.log("ALL PROMISES NOW RESOLVED"); // this code runs when all promises also resolved
});
私の質問は、私はそれがないと思うと、この作業を行い、またはいくつかの奇妙な非同期、決定不能の結果リスクがありますか?
こんにちは、私は私の質問に少し変更を加えました。主な要件は、個々の約束の成功コールバックが終了した後にall()コールバックが実行されることです。 – rex
私はそれを見て、それはもはや関連性がないので、私のコメントを削除しました。 – lonesomeday
あなたの質問は実際に '.all'コールバックが**最後の' singlePromise.then'コールバックの後に常に起動されるかどうかです。 – devqon