typescriptでsleep関数を1行で簡単に書く

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

最新情報をチェックしよう!

nodejsの最新記事8件