Объект deferred представляет собой связанный с объектом объект, созданный вызовом jQuery.Deferred() метода. Он может регистрировать несколько обратных вызовов в очереди обратного вызова, вызывать очереди обратного вызова и ретранслировать состояние успеха или отказа любой синхронной или асинхронной функции.
Название | Описание |
.done() .fail() .then() .always() |
регистрируют обработчики перехода объекта deferred в состояние "выполнено"/"ошибка выполнения" (rejected/rejected) .then() регистрирует два обработчика сразу .always() общий обработчик на оба события |
.progress() | регистрирует обработчики прогресса выполнения объекта deferred. |
.resolved() .reject() |
переводят объект deferred из состояния "не выполнено" в "успешно выполнено"/"ошибка выполнения". |
.notify() | вызывает событие частичного выполнения deferred (его прогресса выполнения). |
.resolveWith() .rejectWith() |
переводят объект deferred из состояния "не выполнено" в "успешно выполнено"/"ошибка выполнения", с указанием и контекста выполнения (значение переменной this) обработчиков. |
.notifyWith() | вызывает событие частичного выполнения deferred (его прогресса выполнения), с указанием и контекста выполнения (значение переменной this) обработчика. |
.isResolved() .isRejected() |
проверяют, находится ли объект deferred в состоянии resolve/reject. |
.state() | возвращает состояние объекта deferred ('pending'/'resolve'/'reject'). |
.pipe() | позволяет производить предварительную обработку параметров, которые в итоге будут переданы в обработчики. |
.promise() | возвращает заместителя объекта deferred, отличающегося от последнего отсутствием методов изменения состояния. |
$(...).promise() | (применяется к объекту jQuery!) создает заместителя, следящего за выполнением очереди событий (например анимаций) на выбранных элементах. |
$.when() | на основе нескольких заданных объектов, создает новый deferred-объект, следящий за состоянием всех заданных. |
0 комментариев