category icon
2022-09-07
JavaScript

JavaScript(TypeScript) による Sleep の実装方法 (async/awateパターン)

javascript
typescript
profile
hikaru
Software Developer / DIY'er

たまーにある、実験やテストのときに待機時間を入れたい要望。短いコードなので直ぐに書けそうだけど、setTimeout 関数が絡むと一瞬思考が止まってしまって・・・。

メモ用に async/await に対応した sleep 関数を残しておきます。

実装側

typescript
/**
 * 指定時間処理を停止する関数
 * @param {number} ms 待機するミリ秒数
 */
async function sleep(ms: number) {
  return new Promise((resolve) => setTimeout(resolve, ms));
}

利用側

使うときはこんな感じです。

typescript
// 5秒待機する
await sleep(5000);

// 5秒後に表示される
console.log(`okok.`);

おわり。