util.Promise

Расширяет IPromiseProvider.

Обещание выполнения функций-обработчиков.

Конструктор | Методы

Конструктор

util.Promise()

Обеспечивает асинхронный отложенный вызов функций-обработчиков. Функции-обработчики выполняются в порядке добавления. Если функция-обработчик возвращает значение, то оно будет передано в следующий обработчик. Если функция-обработчик возвращает undefined, в следующий обработчик будет передан тот же входной параметр, что и в текущую функцию.

Пример:

// создаем экземпляр
var promise = new ymaps.util.Promise(),
    a,
    b,
    c,
    d;
// навешиваем события
promise.then(function (res) { return res + 1; })
       .then(function (res) { a = res; })
       .then(function (res) { b = res; return 3; })
       .then(function (res) { c = res; });
promise.then(function (res) { d = res; });

// если функция возвращает не undefined, то возвращаемое значение передается в
// следующую по цепочке функцию, иначе в нее передается значение, поступившее на
// вход функции стоящей выше

// выполняем наше "обещание"
promise.resolve(1);
a == 2; // true
b == 2; // true
c == 3; // true
d == 1; // true

Методы

Имя Возвращает Описание
reject([error])

Прерываем слушание.

resolve([value])

Вызывает функции-обработчики, когда "обещание" выполнено.

then([onResolve[, onReject]])

util.Promise

Подписка на "обещание".

Описание методов

reject

{} reject([error])

Прерываем слушание.

Параметры:

Параметр Значение по умолчанию Описание
error

Тип: String|Object

Ошибка, подаваемая на функцию-обработчик.

resolve

{} resolve([value])

Вызывает функции-обработчики, когда "обещание" выполнено.

Параметры:

Параметр Значение по умолчанию Описание
value

Тип: Object

Значение, подающееся на функцию-обработчик.

then

Подписка на "обещание".

Returns указатель на объект Promise.

Параметры:

Параметр Значение по умолчанию Описание
onResolve

Тип: Function

Функция-обработчик, которая вызывается, если обещание выполнено.

onReject

Тип: Function

Функция-обработчик, которая вызывается, если обещание не выполнено (произошла ошибка).