[Node.js] 指定した時間sleepする – Promise版

  • このエントリーをはてなブックマークに追加
  • LINEで送る

小ネタです。
多くのスクリプト言語やシェルなどで実装されているsleep機能がNode.jsには存在しないため、使いたくなったら自分で用意する必要があります。いくつか方法がありますがお手軽なのはPromiseとsetTimeoutを利用した物です。

あっちこっちで使う場合は以下のように適当なモジュールを用意します。

/**
 * sleep.js
 */
const sleep = (time) => {
  return new Promise((resolve, reject) => {
      setTimeout(() => {
          resolve()
      }, time)
  })
}

module.exports = sleep
- Sponsored Link -

先ほどのモジュールをrequireで読み込み実行するだけ。

const sleep = require('./sleep')

console.log('Start')
sleep(3000)
  .then( () => console.log('End') )

もちろんasync/awaitを利用して書くこともできます。

const sleep = require('./sleep')

!(async ()=>{
  console.log('Start')
  await sleep(3000)  // 3秒待機
  console.log('End')
})()

このブログを応援する

お寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。

PayPal(ペイパル)
PayPalで300円支払う
※金額は任意で変更できます。
※100円でも泣いて喜びますw
※住所の入力欄が現れた場合は「no needed」を選択ください
これまでのご協力者さま
- Sponsored Link -