Heim > Web-Frontend > Front-End-Fragen und Antworten > Welche Funktionen haben Await und Async in es6?

Welche Funktionen haben Await und Async in es6?

WBOY
Freigeben: 2022-05-06 17:25:00
Original
2766 Leute haben es durchsucht

Die Funktionen von „await“ und „async“ in es6 sind: 1. „async“ wird verwendet, um zu deklarieren, dass eine Funktion asynchron ausgeführt wird und ein Promise-Objekt zurückgibt kann für asynchrone Funktionen verwendet werden, sodass auf den Rückgabewert einer asynchronen Funktion gewartet wird.

Welche Funktionen haben Await und Async in es6?

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

Was sind die Funktionen von „await“ und „async“ in es6?

async wird verwendet, um zu deklarieren, dass eine Funktion asynchron ist, während „await“ verwendet wird, um auf den Abschluss der Ausführung einer asynchronen Methode zu warten.

await kann nur in asynchronen Funktionen platziert werden.

await wird von einer Funktion gefolgt, die ein neues Versprechen zurückgibt und es ausführt.

Wenn Sie auf Warten stoßen, wird der folgende Code blockiert und der Synchronisationscode außerhalb von Async wird zuerst ausgeführt.

Wenn Sie auf ein Versprechen warten, warten Sie, bis das Versprechen abgeschlossen ist, und verwenden Sie dann den Auflösungsparameter als Operation Ergebnis des Wait-Ausdrucks.

Wenn Sie auf einen Ausdruck warten, kehren Sie nach der Ausführung des Synchronisationscodes außerhalb von Async zurück und setzen Sie die Ausführung fort.

async

async-Funktion (einschließlich Funktionsanweisung, Funktionsausdruck, Lambda-Ausdruck) gibt ein Promise-Objekt zurück.

Wenn Sie eine direkte Menge in einer Funktion zurückgeben, kapselt async die direkte Menge über Promise.resolve() in ein Promise-Objekt.

Was ist, wenn die asynchrone Funktion keinen Rückgabewert hat? Man kann sich leicht vorstellen, dass Promise.resolve(undefiniert) zurückgegeben wird.

Merkmale von Promise – kein Warten. Wenn Sie also eine asynchrone Funktion ohne Warten ausführen, wird sie sofort ausgeführt, gibt ein Promise-Objekt zurück und blockiert niemals nachfolgende Anweisungen. Dies unterscheidet sich nicht von einer normalen Funktion, die ein Promise-Objekt zurückgibt.

await

Im Allgemeinen wird angenommen, dass waiting auf den Abschluss einer asynchronen Funktion wartet. Gemäß der Syntax wartet Warten jedoch auf einen Ausdruck, und das Auswertungsergebnis dieses Ausdrucks ist ein Promise-Objekt oder ein anderer Wert (mit anderen Worten, es gibt keine besonderen Einschränkungen).

Da die asynchrone Funktion ein Promise-Objekt zurückgibt, kann „await“ verwendet werden, um auf den Rückgabewert einer asynchronen Funktion zu warten, also auf die Auflösung des Versprechens (der Wert hier).

await wird nicht nur zum Warten auf Promise-Objekte verwendet, sondern kann auch auf das Ergebnis eines beliebigen Ausdrucks warten. Daher können auf „wait“ tatsächlich normale Funktionsaufrufe oder direkte Mengen folgen.

Wenn das, worauf es wartet, kein Promise-Objekt ist, ist das Ergebnis des Warteausdrucks das, worauf es wartet.

Warum warte verwenden?

Um unseren asynchronen Code mehr wie synchronen Code zu machen

Wenn es mehrere Versprechen gibt, wie erhält man das Ergebnis, nachdem alle Versprechen abgelaufen sind

Weil Promise.all() auch ein Versprechen zurückgibt, Wenn Sie also „await“ verwenden möchten, um die Werte mehrerer Versprechen zu erhalten, können Sie Promise.all() direkt erwarten. [Verwandte Empfehlungen: „Javascript-Video-Tutorial“, „Web-Frontend“]

Das obige ist der detaillierte Inhalt vonWelche Funktionen haben Await und Async in es6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
es6
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage