私はすべての約束が次のステップに移るまで充足されるのを待つ必要があるので、正しい方法でそれを行いますか?Promise.all()各約束応答
答えて
各約束にresolveCallback
を割り当てることができます。 次に、Promise.all()
を使用して、すべての約束が完了するのを待つ必要がある作業をすべて待つのを待ちます。
let counter = 0;
for (var i = 0; i < message.destinatarios.length; i++) {
const prom = this.sms.send(destinatario.numero_celular, string);
messageList.push(prom);
prom.then(() => {
//your logic for whatever you want to do for every time a promise is resolved
console.log("processing " + ++counter + " of " + messageList.length);
})
}
Promise.all(messageList)
それを解決するために最も魅力的な方法だと思われますが、各約束の応答はPromise.allの応答に影響しますか? –
@ WelderMarcos、No. – Ozan
ありがとうございました。私は正しい答えとしてこれを受け入れます。 –
Promise.allは、ネストされた約定を並行して実行します。カウンターAFAIKは使用できません。少なくとも副作用としてカウンタを変更することはありません。
@Alexを説明していただきありがとうございます –
- 1. モジュラー約束とPromise.all()
- 2. Promise.allで約束と非約束を呼ぶ
- 3. 約束:応答を得る方法?
- 4. 応答コールバック時の約束の使用
- 5. Promise.all([約束のリスト])をramdaに変換
- 6. Angular2 $ http Promise.all()と約束します
- 7. Bluebird promise.all中期的な約束を守って約束を続ける
- 8. 他のデータ(promise.all)と共に約束の約束からデータを取得
- 9. Promise.allのスケジュール順はPromise.allでグループ化すると約束します
- 10. AngularJS各ループのシーケンシャルチェーン約束
- 11. 各約束についてもっとお約束node.js/js
- 12. angularJS +で$ q.allと重複した応答約束
- 13. Angularの約束からの応答データへのアクセス
- 14. anglejsで未定義の応答$ resource.save。$約束のコールバック
- 15. 本文/応答約束のヘッダーを読む方法
- 16. キャッチされない(約束に):ステータス応答:URL 0:ヌル
- 17. Angular 2とCloudkit JS - 応答の約束を解決する
- 18. エラー:(約束で)キャッチされない:ステータス応答:角度2
- 19. Body.json()で非JSON応答を処理する約束
- 20. 約束のアクションの応答を得る(redux-thunkのような)
- 21. ハンドルの約束はpromise.all()でindvidually解決します
- 22. Promise.allを使用する場合の約束間の遅延
- 23. Promise.all内の約束が実行されない
- 24. 私はfirebaseで2つのリファレンス持って約束=> promise.all
- 25. Promise.allでパラメータ付きの約束の配列
- 26. promise.allで解決された約束es6にアクセスする方法
- 27. Promise.allを含む複数の約束を結ぶ
- 28. が反応:axios.getと約束
- 29. 約束事にapply()を使用して約束応答データにアクセスできない
- 30. jQuery各ループを約束します
インデックスを持っている場合にカウンタを増やす理由は何ですか? Promise.allはあなたが送った順番ですべての結果を提供します。 –
'this.sms.send()'は約束を返しますか? – Ozan
はい、this.sms.sendは約束を返します@Ozan –