Baseline Widely available
La méthode next()
renvoie un objet possédant deux propriétés done
et value
. Cette méthode peut également recevoir un paramètre pour envoyer une valeur au générateur.
valeur
La valeur à envoyer au générateur. La valeur sera affectée comme résultat d'une expression yield
. Autrement dit, lorsque le générateur contient une expression de la forme variable = yield expression
, c'est l'argument valeur
qui sera affecté à variable
.
Un Object
possédant deux propriétés :
done
(un booléen)
true
si l'itérateur a atteint la fin de la série sur laquelle il itère. Dans ce cas, la propriété value
définit la valeur de retour pour l'itérateur.false
si l'itérateur a pu fournir la prochaine valeur de la série. C'est la valeur par défaut si la propriété done
n'est pas définie.value
- n'importe quelle valeur JavaScript renvoyée par l'itérateur. Cette propriété peut être absente lorsque done
vaut true
.
next()
L'exemple suivant illustre comment utiliser un générateur simple et les objets renvoyés par la méthode next
:
function* gen() {
yield 1;
yield 2;
yield 3;
}
var g = gen(); // "Generator { }"
g.next(); // "Object { value: 1, done: false }"
g.next(); // "Object { value: 2, done: false }"
g.next(); // "Object { value: 3, done: false }"
g.next(); // "Object { value: undefined, done: true }"
Envoyer des valeurs à un générateur
Ici, next
est appelé avec une valeur. On notera ici que le premier appel n'affiche rien car le générateur n'a encore rien généré.
function* gen() {
while (true) {
var value = yield null;
console.log(value);
}
}
var g = gen();
g.next(1);
// "{ value: null, done: false }"
g.next(2);
// 2
// "{ value: null, done: false }"
Spécifications Compatibilité des navigateurs Voir aussi
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4