我想在JavaScript/DOM中僅使用dispatchEvent調用創建事件循環機制。是否可以使用document.dispatchEvent在JavaScript中循環事件?
例如:
document.addEventListener("LoopingEvent", loop, true);
var loop = function() {
doSomeWork();
updateUI();
document.dispatchEvent(loopEvent);
};
var loopEvent = document.createEvent('Events');
loopEvent.initEvent("LoopingEvent", true, true);
document.dispatchEvent(loopEvent);
在運行時,調用堆棧OutOfRange引發錯誤。如果我更改循環處理程序的調度調用以使用window.setTimeout延遲它循環沒有錯誤。
只是想知道是否有辦法使用dispatchEvent無限循環無需訴諸setInterval或setTimeout? dispatchEvent循環模式的優點在於,調用在完成工作時發生,而不是按設定的時間間隔進行。
預先感謝任何見解...