Wiederholungsmuster für Promise-basierte Vorgänge
Promises bieten eine praktische Möglichkeit, asynchrone Vorgänge in JavaScript abzuwickeln. Manchmal ist es jedoch notwendig, Vorgänge mehrmals zu wiederholen oder bis eine bestimmte Bedingung erfüllt ist.
1. Wiederholen, bis das Versprechen aufgelöst wird
Um einen Vorgang kontinuierlich zu wiederholen, bis er aufgelöst wird, verwenden Sie eine Verzögerung zwischen Wiederholungsversuchen und eine maximale Anzahl von Wiederholungsversuchen. Dies kann mithilfe einer for-Schleife und einer .catch()-Verkettung erreicht werden:
<code class="js">for (var i = 0; i < maxRetries; i++) { p = p.catch(attempt).catch(rejectDelay); }</code>
2. Wiederholen, bis die Bedingung erfüllt ist
Um einen Vorgang zu wiederholen, bis eine Bedingung für das Ergebnis erfüllt ist, verwenden Sie eine .then()-Kette, um die Bedingung zu überprüfen, und eine .catch()-Kette, um Fehler zu behandeln:
<code class="js">for (var i = 0; i < maxRetries; i++) { p = p.catch(attempt).then(test); }</code>
3. Speichereffizientes dynamisches Wiederholungsmuster
Für einen dynamischen Wiederholungsmechanismus mit unbegrenzten Wiederholungsversuchen und einer angegebenen Verzögerung verwenden Sie den .catch()-Kettenansatz:
<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>
Hinweis :
Das obige ist der detaillierte Inhalt vonWas sind die verschiedenen Wiederholungsmuster für versprechungsbasierte Vorgänge in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!