es6 asynchrone Anfrage hat drei Zustände: 1. ausstehend (Wartezustand), dann wird kein Fang ausgelöst 2. erfüllt (erfüllter Zustand), wenn die Lösung aktiv zurückgerufen wird, befindet sie sich in diesem Zustand und dann( ) wird zurückgerufen ;3. Reject (Ablehnungsstatus) löst die nachfolgende Catch-Callback-Funktion aus.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.
Promise ist eine Lösung für die asynchrone Programmierung:
1. Wird hauptsächlich für asynchrone Berechnungen verwendet.
2. Asynchrone Operationen können in die Warteschlange gestellt, in der gewünschten Reihenfolge ausgeführt werden und die erwarteten Ergebnisse zurückgeben.
3 zwischen Objekten hilft uns beim Umgang mit Warteschlangen
Versprechen hat drei Zustände:
1, ausstehender [ausstehender] Anfangszustand
2, erfüllt [Implementierung] Vorgang erfolgreich
3, abgelehnt [abgelehnt] ] Vorgang fehlgeschlagen
Wann Wenn sich der Versprechensstatus ändert, wird die Antwortfunktion in then() ausgelöst, um die nachfolgenden Schritte zu verarbeiten.
Der Status des Promise-Objekts ändert sich. Sobald der Status von zwei Promise geändert wird, gibt es keine Änderungen: von „Ausstehend“ zu „Erfüllt“
von „Ausstehend“ zu „Abgelehnt“.
Solange diese beiden Situationen auftreten, wird der Status gefestigt und wird sich nicht mehr ändern.
Sehen Sie sich das Bild unten an
Wenn ein Fehler gemeldet wird, wird das Versprechen im Versprechenstatus zurückgegeben und der Catch-Rückruf ausgelöst. Solange ein Fehler vorliegt, wird er später nicht ausgeführt. Catch wird ausgeführt.
Siehe unten Wenn ein Fehler-Promise-Objekt ausgelöst wird, befindet es sich im Ablehnungsstatus
Frage 1:Drucken Sie 1 3 der Reihe nach aus, 2 wird nicht gedruckt, da der Fang nicht ausgeführt wird (das Versprechen von .then befindet sich im Auflösungszustand. Fang wird nicht ausgeführt
)Promise.all(iterator)Promise.all([ new Promise((resolve,reject)=>{ setTimeout(()=>{ resolve('result1') },2000) }), new Promise((resolve,reject)=>{ setTimeout(()=>{ resolve('result2') },1000) })]).then(results =>{ results[0] results[1] console.log(results)})
Javascript-Tutorial für Fortgeschrittene
】Das obige ist der detaillierte Inhalt vonWas sind die drei Zustände der asynchronen ES6-Anfrage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!