У меня есть следующий обработчик событий Javascript:
function eventHandler(e) {
//doSomething 1...
asyncFunctionWhichReturnPromise(data).then(function (data) {
//doSomething 2...
e.data = {
Id: data.Id,
Type: "Type"
};
});
//doSomething 3...
}
Поэтому, когда я запускаю код, "//doSomething 3..." выполняется перед "//doSomething 2...", но поскольку это функция обработчика событий, мне нужно подготовить данные в "//doSomething 2..." блок кода до того, как будет вызвано следующее событие. Как я могу сделать это с помощью q.js (библиотека обещаний Криса Ковала)?
Важная дополнительная информация: на самом деле мне нужно, чтобы блок //doSomething 2... выполнялся перед выходом из обработчика событий, потому что есть инициализация e.data, которая будет использоваться на следующем шаге - загрузка kendo ui загрузит данные на сервере.
doSomething2
всегда выполняется асинхронно, после того как управление покинуло обработчик событий. Вам нужно будет найти способ заставить ждать загрузки пользовательского интерфейса кендо. - person Bergi   schedule 16.04.2015