Heim  >  Artikel  >  Web-Frontend  >  Was bedeutet es6-Versprechen?

Was bedeutet es6-Versprechen?

WBOY
WBOYOriginal
2022-05-05 14:37:563548Durchsuche

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){..})“.

Was bedeutet es6-Versprechen?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, ECMAScript Version 6.0, Dell G3-Computer.

Was bedeutet Versprechen in es6?

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 Verwendung

Syntax:

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ülltWas bedeutet es6-Versprechen?

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 状态

[Verwandte Empfehlungen:

Javascript-Video-Tutorial

,

Web-Frontend

]

ändert

Das obige ist der detaillierte Inhalt vonWas bedeutet es6-Versprechen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Ist für ES6 eingestellt?Nächster Artikel:Ist für ES6 eingestellt?