suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript – Über setTimeout-Probleme

Ich verstehe nicht, warum die Zeitnutzung immer 5000 ms beträgt? Warum denke ich immer, dass der erste 6000 und der zweite 7000 ist?

过去多啦不再A梦过去多啦不再A梦2819 Tage vor378

Antworte allen(2)Ich werde antworten

  • 黄舟

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

    是这样的,setTimeout的延迟时间是相对于他被调用时的时间,第一个在while的阻塞时间1000ms是包含在setTimeout的5000内的,第二个同理后面的5000ms执行完后,他会判断此时setTimeout的延迟时间相对于之前是否已经 了2000ms,如果过了就立即执行了,其实time using的时间就是MAX(setTimeout,while())的值

    Antwort
    0
  • 大家讲道理

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

    虽然settimeout会被入栈 但是延后时间是不会变的 只要没有阻塞 到了时间就会执行 第一个阻塞1000ms 后 执行延后5000ms的阻塞的1000ms也算在内, 第二个阻塞5000ms后会立即执行延后2000ms的

    Antwort
    0
  • StornierenAntwort