Node.js で sleep 機能を自作する

Promise と async / await を使います.

retry-after に対応するため、引数は秒です.

コード

async function sleep(retryAfter) {
  const time = 1 * retryAfter + 1;
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(true);
    }, retryAfter * 1000);
  });
}

使い方

console.log(new Date());
const s = await sleep(3);
console.log(new Date());