Обработка выполнения deferred.then()
deferred.then() – с помощью этого метода можно установить обработчики перехода объекта deferred в состояние удачного выполнения, ошибки выполнения (resolved или rejected). then() регистрирует 2 обработчика сразу.
Возможны три варианта использования функции
deferred.then( doneFilter [, failFilter ] [, progressFilter ] )
- doneFilter – функция, которая запустится, когда объект Deferred перейдёт в состояние неудачного выполнения (resolved);
- failFilter – функция, которая запустится, когда объект Deferred перейдёт в состояние удачного выполнения (rejected);
- progressFilter – функция, которая запустится, как только объекту Deferred будет выставлено одно из состояний.
deferred.then( doneCallbacks, failCallbacks )
- doneCallbacks – функция или массив функций обработчиков перехода объекта Deferred в состояние неудачного выполнения (resolved);
- failCallbacks – функция или массив функций обработчиков перехода объекта Deferred в состояние удачного выполнения (rejected).
deferred.then( doneCallbacks, failCallbacks [, progressCallbacks ] )
- doneCallbacks – функция или массив функций обработчиков перехода объекта Deferred в состояние неудачного выполнения (resolved);
- failCallbacks – функция или массив функций обработчиков перехода объекта Deferred в состояние удачного выполнения (rejected);
- progressCallbacks – функция, которая запустится, как только объекту Deferred будет выставлено одно из состояний.
Пример
Поскольку метод jQuery.get возвращает объект jqXHR
, то к нему можно применить метод .then()
:
$.get( "test.php" ).then( function() { alert( "$.get succeeded" ); }, function() { alert( "$.get failed!" ); } );