検索

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

JavaScript - setTimeout の問題について

使用時間が常に 5000 ミリ秒である理由がわかりません。最初の値が 6000、2 番目の値が 7000 だといつも思うのはなぜですか?

过去多啦不再A梦过去多啦不再A梦2824日前390

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

  • 黄舟

    黄舟2017-05-19 10:24:28

    setTimeout の遅延時間は、最初のブロック時間 1000ms が setTimeout の 5000ms に含まれて、同様に実行された時点で判定されます。このときのsetTimeoutの遅延時間が以前と比べて2000msを超えているかどうか、超えている場合は実際に使用する時間はMAX(setTimeout, while())の値になります

    返事
    0
  • 大家讲道理

    大家讲道理2017-05-19 10:24:28

    settimeout はスタックにプッシュされますが、ブロッキングがなく時間に達している限り、最初のブロッキング 1000ms が実行され、その後 5000ms 遅れたブロッキングの 1000ms が実行されます。 2 番目のブロックは 5000 ミリ秒後に実行され、2000 ミリ秒遅れます

    返事
    0
  • キャンセル返事