Geradores em JavaScript
Existem funções especiais, com as quais você pode criar seus próprios iteradores. Essas funções são chamadas de geradores. Os nomes dessas funções devem começar com um asterisco:
function *func() {
}
Dentro dos geradores, a palavra-chave
yield é usada, indicando o que
o iterador deve retornar na
próxima chamada. Por exemplo,
vamos fazer com que a primeira
chamada retorne 1, a segunda - 2,
e a terceira - 3:
function *func() {
yield 1;
yield 2;
yield 3;
}
O gerador retorna um iterador como seu resultado:
let iter = func();
Vamos verificar o funcionamento do nosso iterador:
console.log(iter.next()); // {value: 1, done: false}
console.log(iter.next()); // {value: 2, done: false}
console.log(iter.next()); // {value: 3, done: false}
console.log(iter.next()); // {value: undefined, done: true}
Crie um iterador, cada chamada do qual
retornará números de 5
a 1.