Promise ベースの操作の再試行パターン
Promise は、JavaScript で非同期操作を処理する便利な方法を提供します。ただし、場合によっては、操作を複数回、または特定の条件が満たされるまで再試行する必要がある場合があります。
1。 Promise が解決するまで再試行
解決するまで操作を継続的に再試行するには、再試行間の遅延と最大再試行回数を使用します。これは、for ループと .catch() チェーンを使用して実現できます:
for (var i = 0; i 2.条件が満たされるまで再試行
結果で条件が満たされるまで操作を再試行するには、.then() チェーンを使用して条件をチェックし、.catch() チェーンを使用して失敗を処理します。 ]
for (var i = 0; i 3.メモリ効率の高い動的再試行パターン
無制限の再試行と指定された遅延を備えた動的再試行メカニズムの場合は、.catch() チェーン アプローチを使用します:var p = Promise.reject();
while (true) {
p = p.catch(attempt).catch(rejectDelay);
// Break out of the loop if the condition is met.
if (conditionMet) break;
}
注:
再試行の .catch() チェーン アプローチには、最大試行回数とメモリ消費量に関する制限があります。- 複雑な再試行シナリオの場合は、再帰的ソリューションまたは専用の再試行ライブラリを使用することをお勧めします。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3