Detaillierte Einführung in Promise in es6
Promise
Promise ist ein Objekt, von dem Nachrichten für asynchrone Operationen abgerufen werden können
Eigenschaften: Der Status des Objekts ist nicht von den Auswirkungen der Außenwelt betroffen (Ausstehend in Bearbeitung, Aufgelöst abgeschlossen, Abgelehnt fehlgeschlagen), nur das Ergebnis des asynchronen Vorgangs kann den aktuellen Status bestimmen. Sobald sich der Status ändert, ändert er sich nicht mehr (nur von Ausstehend zu Gelöst und Ausstehend zu). Abgelehnt);
Nachteile: Nach der Erstellung wird es sofort ausgeführt und kann nicht auf halbem Weg abgebrochen werden; intern ausgelöste Fehler können nicht nach außen reflektiert werden; , es ist unmöglich zu wissen, in welcher Phase sich der aktuelle Fortschritt befindet.
Definieren Sie im Allgemeinen nicht die Rückruffunktion des Ablehnungsstatus in der then-Methode (dh dem zweiten Parameter von then). , aber verwenden Sie die Catch-Methode, da diese die Fehler im vorherigen Fall erfassen kann und die
catch-Methode näher am synchronen Schreiben liegt ein Promise-Objekt, sodass Sie die then-Methode auch später in der Catch-Methode aufrufen können. Es kann auch einen Fehler auslösen
Die Promise.all-Methode wird zum Packen mehrerer Promise-Instanzen verwendet eine neue Promise-Instanz; die Parameter der Promise.all-Methode dürfen keine Arrays sein, müssen aber vorhanden sein. Sie verfügt über eine Iterator-Schnittstelle, und jedes zurückgegebene Mitglied ist nur dann eine Promise-Instanz, wenn der Status p1, p2, p3 erfüllt ist ; Solange es eine Ablehnung gibt, wird p abgelehnt;
Promise.race verpackt auch mehrere Promise-Instanzen in ein neues Promise; von p ändert sich entsprechend und der Wert des ersten geänderten Objekts wird zurückgegeben und an die Rückruffunktion von p übergeben. - Promise.resolve konvertiert das Objekt in ein Promise-Objekt und Der Status wird aufgelöst
-
// 将thenable对象转为Promise对象var thenable = { then(resolve, reject) { resolve(200) } }var p = Promise.resolve(thenable) p.then((data) => { console.log(data) }) // 200
Nach dem Login kopierenPromise .reject gibt ein Promise-Objekt zurück und der Instanzstatus wird abgelehnt. Die Parameter dieser Methode bleiben erhalten unverändert als Ablehnungsgrund und werden zum Parameter nachfolgender Methoden. - Zwei zusätzliche Methoden
-
done dienen dazu, jederzeit auftretende Fehler zu erfassen und global auszulösen;
// donePromise.prototype.done = function(onFulfilled, onRejected) {this.then(onFulfilled, onRejected) .catch(function(reason) { setTimeout(() => {throw reason}, 0) }); };// finallyPromise.prototype.finally = function (callback) { let P = this.constructor;return this.then( value => P.resolve(callback()).then(() => value), reason => P.resolve(callback()).then(() => { throw reason }) ); };
Nach dem Login kopieren
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Promise in es6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Im täglichen Leben stoßen wir oft auf Probleme zwischen Versprechen und Erfüllung. Ob in einer persönlichen Beziehung oder einer Geschäftstransaktion: Das Einhalten von Versprechen ist der Schlüssel zum Aufbau von Vertrauen. Allerdings sind die Vor- und Nachteile eines Engagements oft umstritten. In diesem Artikel werden die Vor- und Nachteile von Verpflichtungen untersucht und einige Ratschläge gegeben, wie Sie Ihr Wort halten können. Die versprochenen Vorteile liegen auf der Hand. Erstens schafft Engagement Vertrauen. Wenn jemand sein Wort hält, lässt er andere glauben, dass er eine vertrauenswürdige Person ist. Vertrauen ist die Bindung zwischen Menschen, die Menschen mehr machen kann

Vue ist ein beliebtes Front-End-Framework, und bei der Entwicklung von Anwendungen treten häufig verschiedene Fehler und Probleme auf. Unter diesen ist Uncaught(inpromise)TypeError ein häufiger Fehlertyp. In diesem Artikel werden wir die Ursachen und Lösungen diskutieren. Was ist Uncaught(inpromise)TypeError? Der Fehler Uncaught(inpromise)TypeError tritt normalerweise auf

Eine detaillierte Erklärung von Promise.resolve() erfordert spezifische Codebeispiele. Promise ist ein Mechanismus in JavaScript zur Verarbeitung asynchroner Vorgänge. In der tatsächlichen Entwicklung ist es häufig erforderlich, einige asynchrone Aufgaben zu verarbeiten, die nacheinander ausgeführt werden müssen, und die Methode Promise.resolve () wird verwendet, um ein erfülltes Promise-Objekt zurückzugeben. Promise.resolve() ist eine statische Methode der Promise-Klasse, die a akzeptiert

Verwenden Sie Promise-Objekte, um gewöhnliche Funktionen so zu ändern, dass sie Promise zurückgeben, um das Problem der Rückrufhölle zu lösen. Verstehen Sie die Erfolgs- und Misserfolgslogik von Promise und nehmen Sie Anpassungen flexibel vor. Verstehen Sie das Kernwissen, wenden Sie es zuerst an und integrieren und absorbieren Sie das Wissen langsam.

Browserkompatibilität: Welche Browser unterstützen Promises? Da die Komplexität von Webanwendungen immer weiter zunimmt, sind Entwickler bestrebt, das Problem der asynchronen Programmierung in JavaScript zu lösen. In der Vergangenheit verwendeten Entwickler häufig Callback-Funktionen, um asynchrone Vorgänge abzuwickeln. Dies führte jedoch zu komplexem und schwer zu wartendem Code. Um dieses Problem zu lösen, hat ECMAScript6 Promise eingeführt, das eine intuitivere und flexiblere Möglichkeit zur Handhabung asynchroner Vorgänge bietet. Promise ist eine Methode zur Behandlung von Ausnahmen

Die Status des Versprechensobjekts sind: 1. Ausstehend: Ausgangszustand, weder Erfolg noch Fehler; 2. Erfüllt: bedeutet, dass der Vorgang erfolgreich abgeschlossen wurde. 3. Abgelehnt: bedeutet, dass der Vorgang fehlgeschlagen ist. Sobald ein Promise-Objekt abgeschlossen ist, wechselt es vom Status „Ausstehend“ in den Status „Erfüllt“ oder „Abgelehnt“ und kann sich nicht erneut ändern. Promise-Objekte werden in JavaScript häufig zur Verarbeitung asynchroner Vorgänge wie AJAX-Anfragen und zeitgesteuerter Vorgänge verwendet.

Vorteile: asynchron und nicht blockierend, blockiert den Hauptthread nicht; verbessert die Lesbarkeit und Wartbarkeit des Codes;

Promise ist ein Programmiermuster für die Verarbeitung asynchroner Operationen. Es kann als Verpflichtung zur asynchronen Operation angesehen werden, wodurch der Code besser verwaltet und organisiert werden kann besser lesbar und wartbar. Versprechensobjekte haben drei Zustände: ausstehend, erfüllt und abgelehnt. Die Kernidee von Promise besteht darin, asynchrone Operationen von Rückruffunktionen zu trennen und die Abhängigkeiten zwischen asynchronen Operationen durch Kettenaufrufe auszudrücken.
