AsyncIterator
JavaScript 🔴 SeniorDefinition
Protocole pour iterer sur des sequences asynchrones. L'objet implemente [Symbol.asyncIterator]() et next() retourne une Promise de {value, done}. Utilisable avec for await...of.
Analogie
Un podcast en streaming : chaque episode arrive de maniere asynchrone, et tu les ecoutes un par un.
Exemple de code
async function* fetchPages(url) {
let page = 1;
while (true) {
const data = await fetch(`${url}?p=${page++}`);
const json = await data.json();
if (!json.length) return;
yield json;
}
}
for await (const page of fetchPages('/api')) {}
Cas d'usage
Pagination API, lecture de streams, traitement de donnees en flux.