Heim >Web-Frontend >js-Tutorial >So implementieren Sie Generator asynchron in JS

So implementieren Sie Generator asynchron in JS

一个新手
一个新手Original
2017-10-11 09:57:461824Durchsuche

1. Symboldatentyp

Der Symboldatentyp wurde in ES6 neu hinzugefügt.

Native Datentypen mit dem Attribut [Symbol.iterator]: Array, Array-like, Map, Set,

hat[Symbol.iterator] Attributobjekt kann direkt aufgerufen werden, um ein Iterator Objekt

zu generieren 2. Iteratorobjekt: ist ein Zeigerobjekt, das Traverserobjekt

Methode: next(): Das zurückgegebene Format ist {value: ,done: }

Verwendung for..of to traverse: Bei jedem Durchlauf erhalten Sie den Wert.

3. Geneteror

  function*  G(){
             yield    200;
             yield    300;
            return  400;
       }
    var g=G();

1. Beim Definieren von Generator verwenden Sie function* und yield . um Ergebnisse zurückzugeben.

2. Nach dem Aufruf von Generator wird der darin enthaltene Code nicht sofort ausgeführt, sondern befindet sich in einem angehaltenen Zustand. Und generieren Sie ein Generatorobjekt.

3. Wenn auf yield trifft, wird der Ausdruck nach yeild ausgeführt, der Wert nach der Ausführung zurückgegeben und dann wieder in den Pausenzustand versetzt , done: false

Der Generator gibt auch ein Iteratorobjekt zurück, sodass Sie die nächste Methode verwenden können, for..of

1. Bei Verwendung der nächsten Methode werden die Parameter in next auf den Wert vor der ausgeführten Ausbeute übergeben.

2.yield* kann in einem Generator auf einen anderen Generator verweisen.

4. Generator implementiert asynchronen Betrieb

1. Eine Thunk-Funktion ist erforderlich, mit nur einem Parameter, der Callback-Funktion

2. Die Co-Bibliothek wird normalerweise zum Packen asynchroner Vorgänge verwendet, was praktisch und prägnant ist.

3. Auf Yield muss eine Thunk-Funktion folgen.

4. Der Generator ist immer noch auf Rückruf angewiesen

5. async-await: Es ist der syntaktische Zucker des Generators

Verglichen mit Generator:

1. Funktion* durch asynchrone Funktion ersetzen

2. Ersetzen Sie yield durch „await“

3. Auf das „await“ folgt das Promise-Objekt. Andere Datentypen sind ebenfalls in Ordnung, werden jedoch synchron statt asynchron ausgeführt.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie Generator asynchron in JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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