Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Asynchronous Recursive Generator
// Générateur asynchrone récursif
async function* webservice(entity, index = 1) {
const response = await fetch(`https://jsonplaceholder.typicode.com/${entity}/${index}`);
if (response.ok) {
yield response.json();
// Yield Star (yield*)
// Permet de renvoyer la valeur résolue d'un générateur dans un générateur
// Équivalent d'applatir une imbrication de génerateur les uns dans les autres
yield* webservice(entity, index + 1);
}
}
async function main() {
for await (const user of webservice("users")) {
console.log(user.username);
}
}
main().catch(error => {
console.error(error.message);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment