ugl*_*nky 3 javascript events synchronization backbone.js
(具体来说,我正在使用Backbone Model事件)
有人可以帮我理解javascript事件是如何工作的吗?以下是不按我预期的方式工作,这让我感到困惑:
在骨干网中,我对我的模型进行了更改,之后我立即运行了一些代码:
var myVar;
myModel.set('someAttr', true); // Change my model
myVar = executeSomeFunc(); // Now run some code
Run Code Online (Sandbox Code Playgroud)
然后在我的代码库中的其他地方我监听事件并处理它(在我的情况下,我用一个集合包装这个模型):
myCollection.on('change:someAttr', changeHandler); // Listen for the event
Run Code Online (Sandbox Code Playgroud)
我发现的是,myVar = executeSomeFunc()直到事件上的所有事件处理程序change:someAttr都完成后才会执行.(我通过将一个耗时的事件处理程序附加到事件上来检查)
这是预期的行为吗?
是.JavaScript不是多线程的.触发事件时,将立即执行所有事件处理程序.
| 归档时间: |
|
| 查看次数: |
2084 次 |
| 最近记录: |