検索

ホームページ  >  に質問  >  本文

javascript - setInterval

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

リーリー
阿神阿神2780日前728

全員に返信(2)返信します

  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-06-12 09:26:04

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

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

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

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

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

    返事
    0
  • 欧阳克

    欧阳克2017-06-12 09:26:04

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

    リーリー

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

    返事
    0
  • キャンセル返事