Heim > Web-Frontend > js-Tutorial > Einführung in den Unterschied zwischen Generatorfunktion und asynchroner Funktion

Einführung in den Unterschied zwischen Generatorfunktion und asynchroner Funktion

不言
Freigeben: 2019-04-04 11:28:57
nach vorne
2388 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in den Unterschied zwischen Generatorfunktion und asynchroner Funktion. Ich hoffe, dass er für Sie hilfreich ist.

Generatorfunktion:

Generatorfunktion ist eine von ES2015 bereitgestellte asynchrone Lösung, die sich stark von gewöhnlichen Funktionen unterscheidet;

Funktionen:

1. Fügen Sie dem Funktionsschlüsselwort ein (*)-Zeichen hinzu.

2. Verwenden Sie den Yield-Ausdruck als Zustand innerhalb des Funktionskörpers Der Zustand kann über die for...of-Methode durchlaufen werden;

Verwendung:

führt den Generator aus und führt ihn nicht sofort aus und gibt einen Traverser zurück, der next() und throw( ) Oder return() führt den nächsten Status aus, erfasst Fehler oder beendet den Traverser;

asynchrone Funktion:

asynchrone Funktion ist die von ES2017 bereitgestellte asynchrone Funktionssyntax ist der syntaktische Zucker des Generators, aber seine Verwendung unterscheidet sich immer noch stark von der Generator-Funktion:

1. Folgen Sie dem Schlüsselwort async vor dem Funktionsschlüsselwort >2. Verwenden Sie den Warteausdruck im Funktionskörper.

Die asynchrone Funktion gibt ein Versprechensobjekt zurück.

Die Ausführung der asynchronen Funktion erfolgt sofort Funktion, gibt aber ein Versprechensobjekt zurück;

Vergleich zwischen den beiden:

1. Generator erscheint in ES2015, async erscheint in ES2017, async ist der syntaktische Zucker von Generator ;

2. Die Ausführung des Generators erfordert die Verwendung eines Executors (next() und andere Methoden). ;

3. Die Syntax und Semantik von Async ist eindeutig asynchron, die Semantik des (*)-Zeichens und der Ausbeute in der Generatorfunktion ist nicht so direkt 🎜>4. Auf „Yield“ im Generator kann nur eine Thunk-Funktion oder ein Promise-Objekt folgen und auf „Await“ in der asynchronen Funktion kann ein Promise-Objekt oder ein primitiver Typwert folgen (der automatisch in ein Promise-Objekt konvertiert wird). wird sofort aufgelöst); 5. Der Rückgabewert ist anders als bei Async, der ein Promise-Objekt zurückgibt.

【Verwandte Empfehlungen:

JavaScript-Video-Tutorial

Das obige ist der detaillierte Inhalt vonEinführung in den Unterschied zwischen Generatorfunktion und asynchroner Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
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