ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript での Promise ベースの操作のさまざまな再試行パターンとは何ですか?

JavaScript での Promise ベースの操作のさまざまな再試行パターンとは何ですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-22 18:58:03776ブラウズ

What are the Different Retry Patterns for Promise-Based Operations in JavaScript?

Promise ベースの操作の再試行パターン

Promise は、JavaScript で非同期操作を処理する便利な方法を提供します。ただし、場合によっては、操作を複数回、または特定の条件が満たされるまで再試行する必要がある場合があります。

1. Promise が解決するまで再試行

解決するまで操作を継続的に再試行するには、再試行間の遅延と最大再試行数を使用します。これは、for ループと .catch() チェーンを使用して実現できます:

<code class="js">for (var i = 0; i < maxRetries; i++) {
  p = p.catch(attempt).catch(rejectDelay);
}</code>

2。条件を満たすまで再試行

結果で条件が満たされるまで操作を再試行するには、.then() チェーンを使用して条件をチェックし、.catch() チェーンを使用して失敗を処理します。

<code class="js">for (var i = 0; i < maxRetries; i++) {
  p = p.catch(attempt).then(test);
}</code>

3.メモリ効率の高い動的再試行パターン

無制限の再試行と指定された遅延を持つ動的再試行メカニズムの場合は、.catch() チェーン アプローチを使用します。

<code class="js">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;
}</code>

注:

  • 再試行の .catch() チェーン アプローチには、最大試行回数とメモリ消費量に関する制限があります。
  • 複雑な再試行シナリオの場合は、次の使用をお勧めします。再帰的ソリューションまたは専用の再試行ライブラリ。

以上がJavaScript での Promise ベースの操作のさまざまな再試行パターンとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。