JavaScriptにsleepは無い
JavaScriptに他の言語によくあるsleepに相当する機能は無い
「javascript sleep」などと調べるとまれに以下のようなwhileやDate.now()が使われているコードが出てくる
code:悪い例(js)
function sleep(time) {
const start = Date.now()
while (true) {
const now = Date.now()
if (now - start > time) return
}
}
しかし、本質的には多言語のsleepとは動作する仕組みが違いいくつかの問題がある
少なくとも、なぜだめなのかを理解していないうちは避けるのがよいとおもう
問題点
CPU使用率が跳ね上がる
他言語のsleepや、JavaScriptのsetTimeoutなどは言語側が処理しているが、
上のwhile文を使う方法では、whileが終わるまで他の処理が実行されないという挙動を使っている
つまりsleepしている間、常にwhile文の処理が何千何万と実行され続けているためCPU負荷へとなる