JavaScript イベントループ
setTimeout を使う時はイベントループについて意識しておくと良いです。
https://developer.mozilla.org/ja/docs/Web/JavaScript/EventLoop
特に上記URLの以下の部分です。
setTimeout
を呼び出すと、2番目の引数として渡された時間が経過した後、メッセージがキューに追加されます。キューに他のメッセージがない場合、メッセージはすぐに処理されます。しかしながら、メッセージがある場合、setTimeout
メッセージは他のメッセージを処理するために待機する必要があります。そのため第二引数は、保証時間ではなく、最小の時間を示しています。
setTimeout はキューの状態によって、いつ実行されるかが左右されます。
setTimeout の第二引数の時間後に実行されるのではなく、時間以降に実行されるので注意が必要です。
最近のコメント