0
如果我繼續添加JavaScript處理具有一定的延遲使用window.setTimeout(處理,延遲)的隊列
window.setTimeout
這將增加所有超時處理程序在隊列中。 當它們開始執行時,可以保證所有的超時處理程序將按照相同的順序執行,因爲它們已被添加。假設所有處理程序的延遲是相同的。
window.setTimeout(handler1, 100);
window.setTimeout(handler2, 100);
window.setTimeout(handler3, 100);
window.setTimeout(handler4, 100);
在上面的例子中被執行的順序是保證然後handler1 handler2然後handler3然後handler4?或者他們可以以任何順序執行?
我已經嘗試了一些小例子,似乎所有的處理程序都按照正確的順序執行,但是要確保所有瀏覽器的行爲如何。
我沒有權威來源,但他們應該按順序執行。 http://jsfiddle.net/Ebkuk/ –
是的,這是關注,http://www.w3.org/TR/2011/WD-html5-20110525/timers.html#timers說,所有計時器處理程序將進入隊列但我們可以假設隊列順序將會被遵循 – lucky
我會依賴它們按順序執行(儘管它們可能會),但是你想要達到什麼樣的目標?可能有更好的方法來做到這一點。 –