0

setTimeoutとsetIntervalたとえば、UIプロセス時の長時間実行関数の違いは何ですか?

  setTimeout(function(){
    /* Some long block of code... */
  }, 10);

  setInterval(function(){
    /* Some long block of code... */
  }, 10);

実行時間が長い場合、実行時間はsetTimeoutまたはsetIntervalより長くなります。

4

2 に答える 2

5

setTimeoutは1回実行され、次のいずれかの場合に使用すると便利です。

  1. 一度だけ実行したい
  2. または、呼び出しごとの実行時間は可変であり、呼び出しを順番に行う必要があります

setIntervalは、clearIntervalを呼び出してキャンセルするまで永久に実行されます。

したがって、長時間実行されるプロセスの場合は、setTimeoutを使用してから、setTimeoutハンドラーでsetTimeoutを再度呼び出して、ループを実行し続けることをお勧めします。

編集 setIntervalの問題は、実行に10ミリ秒以上かかる場合(この場合)、次の呼び出しがドロップされる可能性があることです。

于 2012-10-19T02:01:11.263 に答える
0

あなたの他の質問に答えるために、すでに述べたもの以外に違いはありません、両方とも同じ優先順位を取得します。

于 2012-10-19T02:03:41.880 に答える