"use strict"; // printDelayed is a 'Promise<void>' async function printDelayed(elements: string[]) { for (const element of elements) { await delay(400); console.log(element); } } async function delay(milliseconds: number) { return new Promise<void>((resolve) => { setTimeout(resolve, milliseconds); }); } printDelayed(["Hello", "beautiful", "asynchronous", "world"]).then(() => { console.log(); console.log("Printed every element!"); });
References
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-1-7.html