Async Generator in TypeScript
type Person = { name: string; title: string; } let items: Person[] = [ { name: "Bing Bong", title: "The Archer" }, { name: "Hector", title: "The well endowed" }, { name: "Brutalitops", title: "The Magician" } ]; async function* getItems(): AsyncGenerator<Person> { for (let item of items) { await new Promise(r => setTimeout(r, 4000)); yield item; } } async function renderOverTime() { for await (let item of getItems()) { console.log(`${item.name} ${new Date().toLocaleTimeString()}`); } } renderOverTime();