JavaScript · Avançado · Inglês · Técnico
async generator
Função declarada com async function* que usa yield e await, devolvendo um iterador assíncrono consumido com for await...of. Produz valores ao longo do tempo, um por vez.
Onde usar
Usado em paginação de APIs, leitura de streams e eventos. Em code review, é preferido a callbacks para fluxos de dados que chegam aos poucos.
Em código
async function* pags() {
for (let p = 1; p <= 3; p++) {
yield `pág ${p}`;
}
}
for await (const x of pags()) {
console.log(x); // em módulo ES
}Exemplos
I wrapped the paginated API in an async generator.
Embrulhei a API paginada num async generator.
Use for await to consume an async generator.
Use for await para consumir um async generator.
Cuidado
Consumir com for...of comum: para async generators é obrigatório usar for await...of.
Sinônimos
gerador assíncrono