JavaScript | |

JavaScriptでsleep (setTimeout + Promise)

毎回過去のソースからコピペしてる

/**
 * sleepもどき
 * @param {Number} ms ミリ秒
 * @returns {Promise}
 */
const sleep = (ms) => {
	return new Promise((resolve) => {
		setTimeout(() => {
			resolve();
		}, ms);
	});
};

ようするにPromise化した setTimeout() です。

普通に .then() で使ってもただの setTimeout() でしかないので、await をつけて呼びます。

使い方
// ※asyncファンクションの中でしかawaitは使えません
(async() => {
	console.log('開始', new Date().getTime());
	await sleep(3000);  // 3000ミリ秒
	console.log('終了', new Date().getTime());
})();
実行結果 (例)
開始 1575708743794
終了 1575708746795