Erste Verwendung der Callback-Funktion Da es zu Beginn keine klare offizielle Spezifikation für js gab, gab es keine klare Spezifikation für die Parameter in den Rückruffunktionen, die in den in verschiedenen Bibliotheken von Drittanbietern gekapselten asynchronen Funktionen übergeben wurden, und die Bedeutung jedes Parameters war nicht klar, was die Verwendung unbequem machte. Aber es gibt klare Vorgaben im Node Rückrufmodus im Knoten: 1. Alle Rückruffunktionen müssen zwei Parameter haben, der erste Parameter gibt den Fehler an und der zweite Parameter gibt das Ergebnis an 2. Alle Rückruffunktionen müssen der letzte Parameter der Funktion sein 3. Alle Rückruffunktionen können nicht als Attribute erscheinen es6 asynchrones VerarbeitungsmodellNach dem Erscheinen von Es6 wurden offiziell Spezifikationen für die asynchrone Verarbeitung und ein für alle asynchronen Szenarien geeignetes Verarbeitungsmodell vorgeschlagen. Das Modell hat:
Nachdem sich die Aufgabe im Status „Aufgelöst“ befindet, ist möglicherweise eine nachfolgende Verarbeitung erforderlich.
Auf dieses asynchrone Modell zugeschnittene API: PromiseSo verwenden Sie Versprechen Kopie const task = neues Versprechen((lösen, ablehnen) => { // Code für ausstehende Aufgabenphase // Sofort ausführen console.log("100-Meter-Langstreckenlauf starten"); setzeTimeout(() => { wenn (Math.random() > 0,5) { // Erfolg: Fertig // Bis zum Erfolg pushen resolve("finished"); } anders { // Fehler: Beinbruch // Bis zum Fehler pushen reject("Beinbruch"); } }, 1000) }); task.then((Ergebnis) => { console.log(Ergebnis); }).catch((Fehler) => { konsole.log(Fehler); }) Nach 1 Sekunde wird die Aufgabe zur Lösung weitergeleitet und die nachfolgende Verarbeitung erfolgt in „then“ oder „catch“. Beachten Ausstehender Status => abgelehnter Status: Kopie
Nachfolgende Verarbeitungsfunktionen müssen asynchron erfolgen und werden in die Mikrowarteschlange gestellt. Nachdem der JS-Ausführungsstapel gelöscht wurde, werden zuerst die Aufgaben in der Mikrowarteschlange ausgeführt. Nachdem die Aufgaben in der Mikrowarteschlange gelöscht wurden, werden die Aufgaben in der Makrowarteschlange ausgeführt.
Async await ist die syntaktische Vereinfachung von Promise, die in es7 hinzugefügt wurde. Sie können auch mehr darüber erfahren. Dieser Artikel gibt nur einen Überblick über Promise. Es gibt noch viele weitere Details, die man beherrschen muss. Oben sind die Details der asynchronen JS ES6-Lösung aufgeführt. Weitere Informationen zur asynchronen ES6-Lösung finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung von 7 SSH-Befehlsverwendungen in Linux, die Sie nicht kennen
>>: InnoDB-Typ MySql stellt Tabellenstruktur und Daten wieder her
1. Was ist die HTML-Auszeichnungssprache? HTML is...
In diesem Artikel werden zwei Methoden zur Implem...
HTML-Formulare werden verwendet, um verschiedene ...
Lösung für die Ausnahmen 1449 und 1045 bei der Ve...
Inhaltsverzeichnis Vorwort 1.1 Funktion 1.2 So st...
MySQL 5.7.17, scheint jetzt die neueste Version z...
1. Laden Sie die virtuelle Maschine Version 15.5....
Dieser Artikel veranschaulicht anhand von Beispie...
Laden Sie die offizielle Website herunter Gehen S...
Wir wissen, dass es in der Shell zwei Möglichkeit...
Schnellstart 1. Suchen Sie das Nginx-Image auf Do...
Die Standardvorlagenmethode ähnelt vue2 und verwe...
Vorwort Einfach ausgedrückt ist tcpdump ein Paket...
Ursprung: Vor einigen Tagen hat ein Tester eine A...
Ich werde nicht viel Unsinn erzählen, schauen wir...