Подтвердить что ты не робот

Jquery $.when() разница между .then() и .done()

Я пытаюсь понять разницу между

$.when(...).then(...)

$.when(...).done(...)

в jQuery. Насколько я понял, оба из них выполняются, когда объекты внутри, когда закончена загрузка. Но в чем разница. Примеры будут действительно оценены.

4b9b3361

Ответ 1

.done() имеет только успешный обратный вызов.

.then() имеет как успешные, так и отказоустойчивые обратные вызовы.

Как и в jQuery 1.8, метод deferred.then() возвращает новое обещание которые могут фильтровать статус и значения отложенных через, заменив теперь устаревший метод deferred.pipe().

Метод deferred.done() принимает один или несколько аргументов, все из которых может быть либо одной функцией, либо набором функций.

Так как deferred.done() возвращает отложенный объект, другие методы отложенный объект может быть привязан к этому, включая дополнительные .done(). Когда Deferred разрешено, doneCallbacks выполняется с использованием аргументов, предоставленных разрешению или resolWith вызов метода в том порядке, в котором они были добавлены.