русский  עברית
tadam logo
Нашли ошибку в тексте?
Отметьте её курсором и нажмите
Ctrl + Enter
Проверка орфографии Xhtml.co.il
Orphus system
Рассылка
Присоединитесь к списку рассылки для получения последних новостей

Введите адрес электронной почты:

Отсроченный объект

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

В JavaScript это является общим для вызова функций, которые необязательно принимают обратные вызовы, которые вызываются в рамках этой функции.

Для примера, в версиях предыдущих jQuery 1.5, асинхронные процессы, такие как jQuery.ajax() принимают обратные вызовы для использования в ближайшем будущем на случаи успеха, ошибки и завершения Ajax запроса.

jQuery.Deferred вносит ряд усовершенствований в способы управления и ссылки обратного вызова. В частности, jQuery.Deferred предоставляет гибкие способы для обеспечения нескольких обратных вызовов, и эти обратные вызовы могут быть запущены независимо от того, произошла ли отправка оригинального обратного вызова. jQuery Deferred основан на дизайне CommonJS Promises/A.

Одна модель для понимания Отсроченности это думать о ней, как о функции оболочки. Методы deferred.then(), deferred.done(), и deferred.fail() указывают для вызова функций, а методы deferred.resolve(args) и deferred.reject(args) “вызывают” функции с представленными вами аргументами. После того как Отсроченность была решена или отклонена, она остается в этом состоянии; повторный вызов deferred.resolve() будет отклонен, например. Если дополнительные функции добавленны с помощью deferred.then() после того, как Отсроченность решена, они будут вызваны немедлено с представленными до этого аргументами.

В большинстве случаев, когда вызовы jQuery API возвращают Отсроченный или Отсроченно-совместимый объект, такой как jQuery.ajax() или jQuery.when(), вы должны только использовать методы deferred.then(), deferred.done(), и deferred.fail() для вызова обратных функций Отсроченной очереди. Внутренние вызовы API или код, который создает Отсроченность вызовет deferred.resolve() или deferred.reject() отсроченные на какой-то момент, будут причиной запуска соответствующих функций обратного вызова.

Конструктор jQuery.Deferred

Конструктор jQuery.Deferred создает новый Отсроченный объект. Оператор new является опциональным.

jQuery.Deferred может передавать дополнительную функцию, которая вызывается непосредственно перед возвращением конструктора и передает построеный отсроченный объект, а также объект this в качестве первого аргумента функции. Вызываемая функция обратного вызова может быть прикреплена с использованием deferred.then(), например.

Отсроченный объект начинается в нерешенном состоянии. Любые обратные вызовы добавленные к объекту с помощью deferred.then(), deferred.done(), или deferred.fail() ставятся в очередь, чтобы быть выполненными позже. Вызов deferred.resolve() или deferred.resolveWith() переводит Отсроченный в решенное состояние и сразу выполняет любой doneCallback, который установлен. Вызов deferred.reject() или deferred.rejectWith() переводит Отсроченный в отклоненное состояние и сразу выполняет любой failCallback, который установлен. Как только объект вошел в решенное или отклоненное состояние, он остается в этом состоянии. Обратные вызовы можно еще добавить, чтобы решить или отклонить Отсроченный - они будут выполненны немедленно.

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

Добавляет обработчики, вызываемые когда отложенный объект либо решен, либо отклонен.
Добавляет обработчики, вызываемые когда Отсроченный объект решен.
Добавляет обработчики, вызываемые когда Отсроченный объект отклонен.
Определяет, является ли Отсроченный объект отклоненным.
Определяет, является ли Отсроченный объект решенным.
Служебный метод для фильтрации и/или прицепления отложенных объектов.
Возвращает Отсроченный Обещанный объект.
Откланяет Отсроченный объект и вызывает любой неудачныйВызов с данными аргументами.
Откланяет Отсроченный объект и вызывает любой неудачныйВызов с данными аргументами и содержанием.
Разрешает Отсроченный объект и вызывает любой удачныйВызов с данными аргументами.
Разрешает Отсроченный объект и вызывает любой удачныйВызов с данными аргументами и содержанием.
Добавляет обработчики, вызываемые когда Отсроченный объект решен или отклонен.
Возвращает:Обещание
Возвращает объект Promise для наблюдения, когда все действия определенного типа связаны со сбором, находятся ли они в очереди или нет, закончены.
Вызывает progressCallbacks на Отложенный объект с заданными аргументами.
Вызывает progressCallbacks на Отложенный объект с заданным контекстом и аргументами.
Добавляет обработчики, вызываемые когда Отложенный объект генерирует уведомления о ходе выполнения.
Возвращает:Строка
Определяет текущее состояние отложенного объекта.
Была ли эта информация полезной?
   

Комментарии