毎回過去のソースからコピペしてる
/** * sleepもどき * @param {Number} ms ミリ秒 * @returns {Promise} */ const sleep = (ms) => new Promise(resolve => { setTimeout(resolve, ms); });
const sleep = (ms: number): Promise<void> => new Promise(resolve => { setTimeout(resolve, ms); });
ようするにPromise化した setTimeout() です。
setTimeout()
普通に .then() で使ってもただの setTimeout() でしかないので、await をつけて呼びます。
.then()
await
// ※asyncファンクションの中でしかawaitは使えません (async() => { console.log('開始', new Date().getTime()); await sleep(3000); // 3000ミリ秒 console.log('終了', new Date().getTime()); })();
開始 1575708743794 終了 1575708746795