AsyncIterator
JavaScript 🔴 SeniorDéfinition
Protocole pour iterer sur des séquences asynchrones. L'objet implémenté [Symbol.asyncIterator]() et next() retourne une Promise de {value, done}. Utilisable avec for await...of.
Analogie
Un podcast en streaming : chaque épisode arrive de manière asynchrone, et tu les écoutes 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 données en flux.