Heim >Web-Frontend >Front-End-Fragen und Antworten >Was bedeutet es6-Versprechen?
Promise bedeutet „Versprechen“. Es handelt sich um eine neue asynchrone Programmierlösung, die hauptsächlich zur Lösung des Callback-Bereichsproblems verwendet wird ist „neues Versprechen(Funktion(auflösen, ablehnen){..})“.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, ECMAScript Version 6.0, Dell G3-Computer.
Versprechen bedeutet Versprechen. Die Kernidee dahinter ist, dass Versprechen das Ergebnis einer asynchronen Operation darstellt.
ist eine neue asynchrone Programmierlösung in es6, die als Objekt im Code dargestellt wird.
Promise ist eine von js asynchroner Programmierung bereitgestellte Lösung, die hauptsächlich zur Lösung des Callback-Region-Problems verwendet wird.
Versprechen hat drei Zustände, nämlich
Ausstehender (in Bearbeitung) Anfangszustand
Erfüllt (erfolgreich) bedeutet, dass der Vorgang erfolgreich ist
Abgelehnt (fehlgeschlagen) bedeutet, dass der Vorgang fehlgeschlagen ist
Hinweis: Die drei Zustände des Promise-Objekts werden von der Außenwelt nicht beeinflusst. Nur die im Promise gespeicherten Ereignisse, die in der Zukunft enden, werden beeinflusst. Das heißt, nur das Ergebnis der asynchronen Operation kann den aktuellen Status bestimmen, und keine andere Operation kann diesen Status ändern. Sobald sich der Status „Versprechen“ ändert, kann er irreversibel in den Status „Erfüllt“ umgewandelt werden Der Status „Ausstehend“ (in Bearbeitung) kann in den Status „Abgelehnt“ (fehlgeschlagen) geändert werden.
Promise ändert den Status nur in diesen beiden Situationen. Sobald diese beiden Statusänderungen auftreten, wird der Status bestätigt stets gepflegt werden.
Grundlegende VerwendungSyntax:
new Promise( function(resolve, reject) {...} /* executor */ )
Prinzip:Beim Erstellen eines Promise-Objekts müssen Sie eine Executor-Funktion übergeben, und die Hauptgeschäftsprozesse werden in der Executor-Funktion ausgeführt.
Die Executor-Funktion wird sofort aufgerufen, wenn der Promise-Konstruktor ausgeführt wird. Die Auflösungs- und Ablehnungsfunktionen werden als Parameter an den Executor übergeben. Wenn die Auflösungs- und Ablehnungsfunktionen aufgerufen werden, wird der Status des Versprechens in „erfüllt“ geändert oder abgelehnt (fehlgeschlagen). Sobald sich der Zustand ändert, ändert er sich nicht mehr und dieses Ergebnis kann jederzeit erhalten werden.
Nach dem Aufruf der Resolver-Funktion in der Executor-Funktion wird die von Promise.then festgelegte Rückruffunktion ausgelöst, und nach dem Aufruf der Reject-Funktion wird die von Promise.catch festgelegte Rückruffunktion ausgelöst.
Wie in der Abbildung unten gezeigt:
Das Beispiel lautet wie folgt:Erstellen Sie ein neues Promise-Objekt
Sie müssen eine Rückruffunktion übergeben, die „resolve“ darstellt ) und „reject“ (reject) ), und beide Parameter sind Funktionen
Wenn keiner der Parameter aufgerufen wird, ruft der standardmäßige „Pending“-Status
let promise=new Promise(function(resolve,reject){ });//pending状态
die Auflösungsfunktion auf, die den Status „Promise“ darstellt, und die Reject-Funktion wird von „pending=“ aus aufgerufen =>erfüllt
let promise=new Promise(function(resolve,reject){ resolve(); });//fulfilled状态, was bedeutet, dass sich der Status von Promise von „Ausstehend“==>abgelehnt
let promise=new Promise(function(resolve,reject){ reject(); });//rejected 状态
,
Web-Frontend]
ändertDas obige ist der detaillierte Inhalt vonWas bedeutet es6-Versprechen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!