always()
Метод deferred.always() устанавливает обработчик, который запустится при переходе Deferred-объекта в любое состояние (выполнено
или отклонено
). Арументом можно указать сразу несколько обработчиков в виде массива.
Когда Deferred-объект перейдёт в состояние выполнено
или отклонено
, будут запущены все обработчики, установленные с помощью deferred.always(). Данный метод возвращает тот же Deferred-объект, поэтому его можно использовать в цепочке методов. Всем обработчикам будут переданы аргументы, указанные при вызове resolve() или reject().
Методы resolve() и reject() могут передавать совершенно разные аргументы. Если есть необходимость обрабатывать эти аргументы, лучше устанавливать отдельно обработчики для состояний выполнено
и отклонено
(методами done() и fail()) с однозначной интерпретацией аргументов.
Варианты использования
deferred.always(обработчик[, обработчик]) => Deferred- Устанавливает обработчики, запускаемые при смене состояния Deferred-объекта. Можно использовать один или два аргумента, каждый из которых может быть как отдельной функцией, так и массивом функций.
Примеры
var defr = $.Deferred();
/* Установка общего обработчика */
defr.always(function() {
alert('Объект сменил состояние');
});