Объект 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 комментариев