(В частности, я использую события Backbone Model)
Может кто-нибудь помочь мне понять, как работают события javascript? Следующее не работает так, как я ожидал, и это сбило меня с толку:
В магистрали я изменяю свою модель, и сразу же после этого запускаю некоторый код:
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
не завершат работу. (Я проверил, прикрепив к событию трудоемкий обработчик событий)
Это ожидаемое поведение?