vow.Promise

Класс, описывающий объекты-promise.

Спецификация Promise/A+.

Note. Данный класс является частью библиотеки Vow. Ниже описаны только некоторые методы. Полный список методов доступен здесь: http://dfilatov.github.io/vow/. Copyright (c) 2012-2013 Filatov Dmitry (dfilatov@yandex-team.ru). Dual licensed under the MIT and GPL licenses.

Note. Не является отдельным модулем: доступен после подключения модуля vow.

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

Конструктор

vow.Promise([resolver])

Создаёт объект-promise.

Параметры:

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

Тип: Function

Функция, которая принимает в качестве параметров методы resolve и reject для установки состояния и значения создаваемому объекту-promise.

Пример:

function someAsyncMethod () {
    return new ymaps.vow.Promise(function (resolve, reject) {
        doSomeAsyncStuff(function (err, value) {
            if (err) {
                reject(err);
                return;
            }

            resolve(value);
        });
    });
}

someAsyncMethod().then(function (value) {
    console.log('Результат работы метода: ' + value);
}, function (err) {
    console.log('Ошибка: ' + err);
});

Методы

ИмяВозвращаетОписание
done([onFulfilled[, onRejected[, onProgress[, ctx]]]])

Аналог метода vow.Promise.then, завершающий цепочку промисов. Кидает исключение в случае отклонения объекта-promise.

spread([onFulfilled[, onRejected[, ctx]]])

vow.Promise

Аналог метода vow.Promise.then, вызывающий функции обратного вызова с набором аргументов, соответствующим массиву, которым будет разрешён/отклонён объект-promise. Обычно используется в сочетании с методами типа vow.all.

then([onFulfilled[, onRejected[, onProgress[, ctx]]]])

vow.Promise

Задаёт функцию-обработчик для объекта-promise.

valueOf()

Object

Возвращает значение для разрешённого объекта-promise или причину отклонения для отклонённого.

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

done

{} done([onFulfilled[, onRejected[, onProgress[, ctx]]]])

Аналог метода vow.Promise.then, завершающий цепочку промисов. Кидает исключение в случае отклонения объекта-promise.

Параметры:

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

Тип: Function

Функция обратного вызова, которая будет вызвана в случае если объект-promise будет разрешён.

onRejected

Тип: Function

Функция обратного вызова, которая будет вызвана в случае если объект-promise будет отклонён.

onProgress

Тип: Function

Функция обратного вызова, которая будет вызвана при "оповещении" объекта-promise.

ctx

Тип: Object

Контекст выполнения функций обратного вызова.

Пример:

var deferred = ymaps.vow.defer();
deferred.reject(Error('Internal error'));
deferred.promise().done(); // Будет брошено исключение.

spread

Аналог метода vow.Promise.then, вызывающий функции обратного вызова с набором аргументов, соответствующим массиву, которым будет разрешён/отклонён объект-promise. Обычно используется в сочетании с методами типа vow.all.

Возвращает новый объект-promise.

Параметры:

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

Тип: Function

Функция обратного вызова, которая будет вызвана в случае если объект-promise будет разрешён.

onRejected

Тип: Function

Функция обратного вызова, которая будет вызвана в случае если объект-promise будет отклонён.

ctx

Тип: Object

Контекст выполнения функций обратного вызова.

Пример:

var deferred1 = ymaps.vow.defer(),
    deferedr2 = ymaps.vow.defer();

ymaps.vow.all([deferred1.promise(), deferred2.promise()]).spread(function(arg1, arg2) {
    // arg1 => 1, arg2 => 'two'
});

deferred1.resolve(1);
deferred2.resolve('two');

then

Задаёт функцию-обработчик для объекта-promise.

Возвращает новый объект-promise. См. Спецификацию Promise/A+.

Параметры:

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

Тип: Function

Функция обратного вызова, которая будет вызвана в случае если объект-promise будет разрешён.

onRejected

Тип: Function

Функция обратного вызова, которая будет вызвана в случае если объект-promise будет отклонён.

onProgress

Тип: Function

Функция обратного вызова, которая будет вызвана при "оповещении" объекта-promise.

ctx

Тип: Object

Контекст выполнения функций обратного вызова.

valueOf

{Object} valueOf()

Возвращает значение для разрешённого объекта-promise или причину отклонения для отклонённого.