Maison  >  Article  >  interface Web  >  A quoi sert le générateur dans es6

A quoi sert le générateur dans es6

WBOY
WBOYoriginal
2022-05-05 14:51:322129parcourir

Dans es6, le générateur est utilisé pour encapsuler des tâches asynchrones. C'est un conteneur pour les tâches asynchrones, qui permet d'exécuter ou de mettre en pause des fonctions à un moment précis, lors de la définition de cette fonction, il y a un astérisque (*) entre le mot-clé function ; et le nom de la fonction. ), la syntaxe est "function *name(){..yield..}".

A quoi sert le générateur dans es6

L'environnement d'exploitation de ce tutoriel : système Windows 10, ECMAScript version 6.0, ordinateur Dell G3.

À quoi sert le générateur dans es6 ?

Le générateur est principalement une programmation asynchrone. Il est utilisé pour encapsuler des tâches asynchrones et permet d'exécuter ou de mettre en pause les fonctions au moment que nous spécifions.

La différence entre définir une fonction Générateur et définir une fonction ordinaire est :

Il y a un * (astérisque) entre le mot-clé de la fonction et le nom de la fonction.

Yield est utilisé à l'intérieur de la fonction pour définir l'état interne de chaque fonction.

S'il y a une instruction return à l'intérieur de la fonction, alors c'est le dernier état à l'intérieur de la fonction.

Utilisez la syntaxe :

function *name(){
...
yield; //需要暂停的时候加yield
...
yield;
...
}
const p = name();
p.next() //调用函数,执行到第一个yield处停止
p.next() //从上一个yeild开始执行,到下一个yield处为止

Regardons un exemple simple :

// 定义
function* sayHello() {
  yield 'hello';
  yield 'world';
  return 'ending';
}
// 调用
// 注意,hw获取到的值是一个遍历器对象
let g = sayHello();

L'exemple ci-dessus définit une fonction générateur nommée sayHello, qui contient deux expressions de rendement et une expression de retour. Par conséquent, il y a trois états à l'intérieur de la fonction : hello, world et return (fin d'exécution). Enfin, appelez cette fonction pour obtenir un objet traverseur et affectez-le à la variable g.

La méthode d'appel de la fonction Générateur est exactement la même que la fonction ordinaire, nom de la fonction (). La différence est :

  • Après l'appel de la fonction, le code interne (à partir de la première ligne) ne sera pas exécuté immédiatement.

  • Il y aura une valeur de retour après l'appel de la fonction. Cette valeur est un objet pointeur pointant vers l'état interne. Il s'agit essentiellement d'un objet traverseur contenant l'état interne de la fonction.

【Recommandations associées : tutoriel vidéo javascript, front-end web

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que signifie la promesse es6 ?Article suivant:Que signifie la promesse es6 ?