Heim Web-Frontend js-Tutorial Detaillierte Einführung in Promise in es6

Detaillierte Einführung in Promise in es6

Jun 26, 2017 pm 03:23 PM
promise

Promise

  1. Promise ist ein Objekt, von dem Nachrichten für asynchrone Operationen abgerufen werden können

  2. 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);

  3. 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.

  4. 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

  5. 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

  6. 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;

  7. 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.
  8. Promise.resolve konvertiert das Objekt in ein Promise-Objekt und Der Status wird aufgelöst

  9. // 将thenable对象转为Promise对象var thenable = {
        then(resolve, reject) {
            resolve(200)
        }
    }var p = Promise.resolve(thenable)
    
    p.then((data) => {
      console.log(data)
    })  // 200
    Nach dem Login kopieren
  10. Promise .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.
  11. Zwei zusätzliche Methoden

  12. // 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
    done dienen dazu, jederzeit auftretende Fehler zu erfassen und global auszulösen;
    finally wird für Operationen verwendet, die unabhängig vom Status des Promise-Objekts ausgeführt werden. Es akzeptiert eine allgemeine Rückruffunktion als Parameter (muss ausgeführt werden).

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Halten Sie Ihr Wort: Die Vor- und Nachteile der Einhaltung Ihrer Versprechen Halten Sie Ihr Wort: Die Vor- und Nachteile der Einhaltung Ihrer Versprechen Feb 18, 2024 pm 08:06 PM

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

Was soll ich tun, wenn in einer Vue-Anwendung ein nicht erfasster (versprechender) TypeError auftritt? Was soll ich tun, wenn in einer Vue-Anwendung ein nicht erfasster (versprechender) TypeError auftritt? Jun 25, 2023 pm 06:39 PM

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

Erfahren Sie mehr über Promise.resolve() Erfahren Sie mehr über Promise.resolve() Feb 18, 2024 pm 07:13 PM

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

Beispielhafte Analyse des Prinzips und der Verwendung von ES6 Promise Beispielhafte Analyse des Prinzips und der Verwendung von ES6 Promise Aug 09, 2022 pm 03:49 PM

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.

Welche Browser unterstützen Promise? Welche Browser unterstützen Promise? Feb 19, 2024 pm 04:41 PM

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

Was sind Versprechensobjekte? Was sind Versprechensobjekte? Nov 01, 2023 am 10:05 AM

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.

Welche Vorteile haben PHP-Funktionen, die Promise-Objekte zurückgeben? Welche Vorteile haben PHP-Funktionen, die Promise-Objekte zurückgeben? Apr 19, 2024 pm 05:03 PM

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

Was bedeutet Versprechen? Was bedeutet Versprechen? Nov 02, 2023 pm 05:30 PM

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.

See all articles