どうもSuです。最近typescriptが楽しくて仕方ない日々を過ごしています。
今日は、良く使うtypescriptでsleepを入れるロジックを紹介します。
以下です。
const sleep = (ms: number) => new Promise((res) => setTimeout(res, ms));
async function test() {
console.log("start");
console.log(new Date().toString());
console.log("wait 1 second");
await sleep(1000);
console.log(new Date().toString());
console.log("wait 2 seconds");
await sleep(2000);
console.log(new Date().toString());
console.log("end");
}
test();
以上です。意外と簡単に書けますね。
本番コードやテストで書くことはあまりありませんが、バッチロジックでループ処理する際にsleepを入れて実行したいときに便利だと思います。
Promiseを使っているため、sleep関数を呼び出すところではawaitキーワードを入れないと待ってくれないのでご注意ください。