проблемы времени с 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() и все еще есть обратный вызов прогресса?

Ответы на вопрос(1)

Ваш ответ на вопрос