// async anonymous function always returns a Promise
const dramaticWelcome: Promise<void> = async () => {
console.log("Hello");
for (let i = 0; i < 5; i++) {
// await is converting Promise<number> into number
const count: number = await delay(500, i);
console.log(count);
}
console.log("World!");
}
interface SearchFn {
(subString: string): Promise<boolean>;
}
// or as a type declaration:
type SearchFn = (subString: string) => Promise<boolean>;