Метод deferred.promise()

deferred.promise() —  создает заместителя deferred-объекта (объект с аналогичным набором методов, за исключением отсутствия методов изменения состояния объекта).

Это полезно, если вы хотите, чтобы API предоставлял возможность подписаться на события, но не давал возможности изменить состояние deferred объекта.

Замечание: данный метод, относится к методам объекта deferred, а не jQuery. У последнего есть метод с таким же названием, однако его назначение немного отличается.

Создает заместителя deferred-объекта. Вместо создания нового объекта заместителя, можно наделить любой существующий объект всеми его свойствами и методами. Для этого нужно указать этот объект в параметре target. В результате, promise() вернет указанный объект, который будет обладать как первоначальными методами и полями, так и методами и полями заместителя.

Пример

Создадим объект deffered для функции asyncEvent, который отслеживается методом then в функциях обратного вызова. При этом, какой результат будет конечным (успешный или не успешный) заранее не известно, так как функция использует javascript интервал (setTimeout), второй параметр которого формируется на основе случайного числа.

 

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *