我想在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循环模式的优点在于,调用在完成工作时发生,而不是按设定的时间间隔进行。
预先感谢任何见解...