どうも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キーワードを入れないと待ってくれないのでご注意ください。