vow.Promise
Класс, описывающий объекты-promise.
Примечание
Данный класс является частью библиотеки Vow. Ниже описаны только некоторые методы. Полный список методов доступен здесь: http://dfilatov.github.io/vow/. Copyright (c) 2012-2013 Filatov Dmitry (dfilatov@yandex-team.ru). Dual licensed under the MIT and GPL licenses.
Примечание
Не является отдельным модулем: доступен после подключения модуля vow.
Конструктор
vow.Promise([resolver])
Создаёт объект-promise.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: 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('Error: ' + err);
});
Методы
Имя |
Возвращает |
Описание |
done([onFulfilled[, onRejected[, onProgress[, ctx]]]]) |
Аналог метода vow.Promise.then, завершающий цепочку промисов. Кидает исключение в случае отклонения объекта-promise. |
|
spread([onFulfilled[, onRejected[, ctx]]]) |
Аналог метода vow.Promise.then, вызывающий функции обратного вызова с набором аргументов, соответствующим массиву, которым будет разрешён/отклонён объект-promise. Обычно используется в сочетании с методами типа vow.all. |
|
then([onFulfilled[, onRejected[, onProgress[, ctx]]]]) |
Задаёт функцию-обработчик для объекта-promise. |
|
valueOf() |
Object |
Возвращает значение для разрешённого объекта-promise или причину отклонения для отклонённого. |
Описание методов
done
{} done([onFulfilled[, onRejected[, onProgress[, ctx]]]])
Аналог метода vow.Promise.then, завершающий цепочку промисов. Кидает исключение в случае отклонения объекта-promise.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Function Функция обратного вызова, которая будет вызвана в случае если объект-promise будет разрешён. |
|
— |
Тип: Function Функция обратного вызова, которая будет вызвана в случае если объект-promise будет отклонён. |
|
— |
Тип: Function Функция обратного вызова, которая будет вызвана при "оповещении" объекта-promise. |
|
— |
Тип: Object Контекст выполнения функций обратного вызова. |
Пример:
var deferred = ymaps.vow.defer();
deferred.reject(Error('Internal error'));
deferred.promise().done(); // Будет брошено исключение.
spread
{vow.Promise} spread([onFulfilled[, onRejected[, ctx]]])
Аналог метода vow.Promise.then, вызывающий функции обратного вызова с набором аргументов, соответствующим массиву, которым будет разрешён/отклонён объект-promise. Обычно используется в сочетании с методами типа vow.all.
Возвращает новый объект-promise.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Function Функция обратного вызова, которая будет вызвана в случае если объект-promise будет разрешён. |
|
— |
Тип: Function Функция обратного вызова, которая будет вызвана в случае если объект-promise будет отклонён. |
|
— |
Тип: Object Контекст выполнения функций обратного вызова. |
Пример:
var deferred1 = ymaps.vow.defer();
var deferred2 = ymaps.vow.defer();
ymaps.vow.all([deferred1.promise(), deferred2.promise()]).spread(function(arg1, arg2) {
// arg1 => 1, arg2 => 'два'
});
deferred1.resolve(1);
deferred2.resolve('два');
then
{vow.Promise} then([onFulfilled[, onRejected[, onProgress[, ctx]]]])
Задаёт функцию-обработчик для объекта-promise.
Возвращает новый объект-promise. См. Спецификацию Promise/A+.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Function Функция обратного вызова, которая будет вызвана в случае если объект-promise будет разрешён. |
|
— |
Тип: Function Функция обратного вызова, которая будет вызвана в случае если объект-promise будет отклонён. |
|
— |
Тип: Function Функция обратного вызова, которая будет вызвана при "оповещении" объекта-promise. |
|
— |
Тип: Object Контекст выполнения функций обратного вызова. |
valueOf
{Object} valueOf()
Возвращает значение для разрешённого объекта-promise или причину отклонения для отклонённого.