проблемы времени с JQuery отложено
Этот вопрос является тщательно продуманной версиейне асинхронная функция, выполняемая как jQuery Deferred.
У нас есть 2 jsfiddles:
http://jsfiddle.net/XSDVX/1/ - здесь событие прогресса не вызывается, несмотря на вызов функции notify ().
http://jsfiddle.net/UXSbw/1/ - здесь событие прогресса запускается, как и ожидалось.
Единственная разница - одна строка кода:
setTimeout(dfd.resolve,1);
против
dfd.resolve();
Вопросы:
Как .hen перехватывает .notify, который вызывается до возврата этого обратного вызова, когда мы задерживаем разрешение? Думаю об этом. .then принимает отложенный объект, который был возвращен из него 'первый параметр и создает из него новый отложенный объект, связывая его спроделал прогресс и провал событий. Если уведомление было вызвано до того, как отложенное было возвращено, как это перехватить даже с помощью setTimeout? (Благодаряhttps://stackoverflow.com/users/400654/kevin-b спросить это)
Могу ли я избавиться отsetTimeout()
и все еще есть обратный вызов прогресса?