dispatchEvent 呼び出しのみを使用して、JavaScript/DOM でイベント ループ メカニズムを作成したいと考えています。
例えば:
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 遅延を使用するように変更すると、エラーなしでループします。
setInterval や setTimeout に頼らずに、dispatchEvent を無限にループさせる方法があるかどうか疑問に思っていますか? dispatchEvent ループ パターンの利点は、設定された時間間隔ではなく、作業が完了したときに呼び出しが発生することです。
洞察を事前にありがとう...