我的印象是我使用了错误类型的'''''
现在我希望注释掉的代码仅在计算x = 5 + 5之后运行并且仅在grawGrid()之后运行;完成它正在做的任何事情。
我的印象是,这属于编程的异步/同步领域以及我读取的调度事件是同步的。
yoopee = function() {
//Dispatch an event to another .js file.
var eventFired = new CustomEvent("snapShotFired", { "detail": "An event was fired" });
document.dispatchEvent(eventFired);
//code here continues after the "x = 5+5 and drawGrid() finished calculating"
}
document.addEventListener("eventFired", function(e) {
x = 5+5;
drawGrid();
});
我使用的是正确类型的事件调度,还是我忽略了这一点?
PS:上面的代码不应该做任何事情,我只想试着明白这一点。*
答案 0 :(得分:1)
根据dispatchEvent()
的{{3}}:
事件处理程序在嵌套的callstack上运行:它们阻止调用者 直到它们完成,但异常不会传播给调用者。
由于它们会阻止调用者直到完成,因此它们会同步运行。