javascript - setInterval
阿神
阿神 2017-06-12 09:24:04
0
2
720

Windows ブラウザでこのコードを実行する場合の実行時間は、Mac でこのコードを実行する場合の実行時間とは大きく異なります。
このメソッドは 1ms ごとに出力を実行します。 Windows と Mac ではなぜ違いがあるのでしょうか? Macだと明らかに遅いです。

リーリー
阿神
阿神

闭关修行中......

全員に返信(2)
女神的闺蜜爱上我

はい、多くの場合、settimeout と setinterval は特に正確ではありません。その理由は、js がシングルスレッドであるためです。

setInterval のコールバック関数はタイムアウト直後には実行されませんが、システムのコンピューティング リソースがアイドル状態になった後に実行されます

setInterval コールバック関数が実行されるまで、次のトリガー時間は開始されません

setInterval 内で実行される計算に時間がかかりすぎる場合

または、他の時間のかかるタスクが実行されている場合、setInterval のタイミングはますます不正確になり、遅延が深刻になります。

いいねを押す +0
学霸

簡単な例を挙げましょう:

リーリー

誰が最初に実行すると思いますか? js是单线程的,但是浏览器是可以控制多线程的,当我们设置setTimeOut的时候,其实浏览器会调用一个线程,而这个线程就叫做Event Loop,让这个线程帮我们去执行,而主线程则继续执行下面的代码,这也就是我们经常会说到的异步模式って言いますが。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート