Die Terminologie von JavaScript-Versprechen
Das Verständnis der Terminologie rund um JavaScript-Versprechen kann eine Herausforderung sein. Gemäß der Promises/A-Spezifikation und ES6 haben Versprechen drei verschiedene Zustände:
Erledigt, gelöst und erfüllt
Der Begriff „erledigt“ bezieht sich auf entweder erfüllt oder abgelehnt, zusammengenommen, was bedeutet, dass die Zusage nicht mehr aussteht. Allerdings ist „gelöst“ ein komplexes Konzept.
Manchmal kann es synonym mit „erfüllt“ verwendet werden, aber eine genauere Interpretation ist, dass „Entschlossenheit“ der Akt ist, bei dem das Schicksal des Versprechens entweder erfüllt oder abgelehnt wird . Die „Auflösung“ eines Versprechens bedeutet, dass es den Status „Ausstehend“ verlassen hat.
Rekursion und Lösung
Das Verfahren zur Lösung von Versprechen ist rekursiv. Durch die Lösung eines Versprechens mit einem Grundwert wird dieser erfüllt, während die Lösung mit einem anderen Versprechen den Zustand dieses Versprechens übernimmt. Dies kann zu Szenarien führen, in denen ein Versprechen gelöst wird, sein endgültiger Zustand jedoch unbestimmt ist. In solchen Fällen wird das Versprechen in dem Sinne als „gelöst“ bezeichnet, dass sein Schicksal nicht mehr unklar ist, sein tatsächlicher Zustand jedoch möglicherweise noch aussteht.
Aufschiebung
Das Aufschieben eines Ergebnisses beinhaltet die Bereitstellung einer asynchronen Zusage für das Ergebnis, anstatt das Ergebnis direkt zurückzugeben. Dieser Prozess gibt auch eine verzögerte Ablehnung zurück, anstatt synchron zu werfen.
In bestimmten Bibliotheken, wie z. B. Q, bezieht sich der Begriff „defer“ auf die Methode, die ein verzögertes Objekt erstellt. Es ist wichtig zu beachten, dass Variablennamen möglicherweise nicht immer genau ihre beabsichtigte Bedeutung widerspiegeln und „defer“ auch eine Abkürzung für „deferredObject“ sein kann.
Das obige ist der detaillierte Inhalt vonWas sind die verschiedenen Zustände eines JavaScript-Versprechens und in welcher Beziehung stehen sie zu Begriffen wie „abgerechnet', „aufgelöst' und „aufgeschoben'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!