Ist es möglich, die Event-Handler .thens für eine JavaScript Promise-Instanz zu löschen?
Wenn bei einem Test, der ein bestimmtes Framework verwendet, eine Zeitüberschreitung auftritt, ruft das Timeout-Promise „assert.fail()“ auf, um den Test als fehlgeschlagen zu markieren. Der Test wird jedoch weiterhin ausgeführt, da das Testversprechen (Ergebnis) noch auf die Auflösung wartet.
Idealerweise könnten die verbleibenden .thens in der Ergebnisvariablen gelöscht werden, um weiteres zu verhindern Ausführung des Tests.
Leider gibt es in ECMAScript 6 keine integrierte Methode zum Abbrechen von Promises oder ihren .thens-Handlern. Das ES-Komitee diskutiert noch mögliche Lösungen, die in zukünftigen ECMAScript-Versionen übernommen werden könnten.
Bis eine offizielle Lösung implementiert ist, können Sie die folgenden Problemumgehungen in Betracht ziehen:
In dem im Problem erwähnten speziellen Fall war das Problem, dass der Test nicht beendet wurde, auf einen nicht erfassten Fehler in zurückzuführen die Testfunktion. Um dieses Problem zu beheben, sollten Sie Fehler innerhalb der Testfunktion entsprechend behandeln.
Das obige ist der detaillierte Inhalt von**Können Sie die Kette in JavaScript-Versprechen abbrechen?**. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!