Wiederholungsmuster für Promise-basierte Vorgänge
Promises bieten eine praktische Möglichkeit, asynchrone Vorgänge in JavaScript abzuwickeln. Manchmal ist es jedoch erforderlich, Vorgänge mehrmals zu wiederholen oder bis eine bestimmte Bedingung erfüllt ist.
1. Wiederholen, bis das Versprechen gelöst ist
Um einen Vorgang kontinuierlich zu wiederholen, bis er gelö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:
for (var i = 0; i 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:
for (var i = 0; i 3. Speichereffizientes dynamisches Wiederholungsmuster
Für einen dynamischen Wiederholungsmechanismus mit unbegrenzten Wiederholungsversuchen und einer angegebenen Verzögerung verwenden Sie den .catch()-Kettenansatz:
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;
}
Hinweis:
- Der .catch()-Kettenansatz für Wiederholungsversuche unterliegt Einschränkungen hinsichtlich der maximalen Anzahl von Versuchen und dem Speicherverbrauch.
- Für komplexe Wiederholungsszenarien wird empfohlen, rekursive Lösungen oder speziell entwickelte Wiederholungsbibliotheken zu verwenden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3