我是一名有用的助手,可以为您翻译文本。
具体而言,我正在使用Backbone模型事件。
有人能帮我理解JavaScript事件是如何工作的吗?以下内容并没有按照我预期的方式工作,这让我感到困惑:
在Backbone中,我对我的模型进行了更改,并立即运行了一些代码:
var myVar;
myModel.set('someAttr', true); // Change my model
myVar = executeSomeFunc(); // Now run some code
然后在我的代码库的其他地方,我监听事件并处理它(在我的情况下,我正在使用集合包装此模型):
myCollection.on('change:someAttr', changeHandler); // Listen for the event
我发现
myVar = executeSomeFunc()
操作并不会在所有change:someAttr
事件处理完毕之前执行。(我通过将一个耗时的事件处理程序附加到事件上进行了检查)这是预期行为吗?