Heim > Web-Frontend > js-Tutorial > Hauptteil

Was sind die verschiedenen Wiederholungsmuster für versprechungsbasierte Vorgänge in JavaScript?

Susan Sarandon
Freigeben: 2024-10-22 18:58:03
Original
849 Leute haben es durchsucht

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

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Hinweis :

  • Der .catch()-Kettenansatz für Wiederholungsversuche unterliegt Einschränkungen hinsichtlich der maximalen Anzahl von Versuchen und dem Speicherverbrauch.
  • Für komplexe Wiederholungsszenarien wird die Verwendung empfohlen rekursive Lösungen oder speziell entwickelte Wiederholungsbibliotheken.

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!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage