---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/vow.Promise.md
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/llms.txt

# vow.Promise

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

[Спецификация Promise/A+](https://github.com/promises-aplus/promises-spec).

{% note info %}

Данный класс является частью библиотеки [Vow](https://github.com/dfilatov/vow/). Ниже описаны только некоторые методы. Полный список методов доступен здесь: [http://dfilatov.github.io/vow/](http://dfilatov.github.io/vow/). Copyright (c) 2012-2013 Filatov Dmitry ([dfilatov@yandex-team.ru](mailto:dfilatov@yandex-team.ru)). Dual licensed under the [MIT](http://www.opensource.org/licenses/mit-license.php) and [GPL](http://www.gnu.org/licenses/gpl.html) licenses.

{% endnote %}

{% note info %}

Не является отдельным модулем: доступен после подключения модуля [vow](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.md).

{% endnote %}

[Конструктор](#constructor-summary) | [Методы ](#methods-summary)

## Конструктор {#constructor-summary}

```javascript
vow.Promise([resolver])
```

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

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`resolver`](#param-resolver) | — | Тип: Function

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


**Пример:**

```javascript
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);
});
```

## Методы {#methods-summary}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [done](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#done)(\[[onFulfilled](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#done-param-onFulfilled)[, [onRejected](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#done-param-onRejected)[, [onProgress](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#done-param-onProgress)[, [ctx](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#done-param-ctx)]]]]) | | Аналог метода [vow.Promise.then](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#then), завершающий цепочку промисов. Кидает исключение в случае отклонения объекта-promise. ||
|| [spread](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#spread)(\[[onFulfilled](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#spread-param-onFulfilled)[, [onRejected](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#spread-param-onRejected)[, [ctx](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#spread-param-ctx)]]]) | [vow.Promise](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md) | Аналог метода [vow.Promise.then](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#then), вызывающий функции обратного вызова с набором аргументов, соответствующим массиву, которым будет разрешён/отклонён объект-promise. Обычно используется в сочетании с методами типа [vow.all](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.md#all). ||
|| [then](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#then)(\[[onFulfilled](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#then-param-onFulfilled)[, [onRejected](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#then-param-onRejected)[, [onProgress](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#then-param-onProgress)[, [ctx](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#then-param-ctx)]]]]) | [vow.Promise](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md) | Задаёт функцию-обработчик для объекта-promise. ||
|| [valueOf](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#valueOf)() | Object | Возвращает значение для разрешённого объекта-promise или причину отклонения для отклонённого. ||
|#

## Описание методов {#method_detail}

### done {#done}

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

Аналог метода [vow.Promise.then](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#then), завершающий цепочку промисов. Кидает исключение в случае отклонения объекта-promise.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`onFulfilled`](#done-param-onFulfilled) | — | Тип: Function

Функция обратного вызова, которая будет вызвана в случае если объект-promise будет разрешён. ||
|| [`onRejected`](#done-param-onRejected) | — | Тип: Function

Функция обратного вызова, которая будет вызвана в случае если объект-promise будет отклонён. ||
|| [`onProgress`](#done-param-onProgress) | — | Тип: Function

Функция обратного вызова, которая будет вызвана при "оповещении" объекта-promise. ||
|| [`ctx`](#done-param-ctx) | — | Тип: Object

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


**Пример:**

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

```javascript
{vow.Promise} spread([onFulfilled[, onRejected[, ctx]]])
```

Аналог метода [vow.Promise.then](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md#then), вызывающий функции обратного вызова с набором аргументов, соответствующим массиву, которым будет разрешён/отклонён объект-promise. Обычно используется в сочетании с методами типа [vow.all](https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.md#all).

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

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`onFulfilled`](#spread-param-onFulfilled) | — | Тип: Function

Функция обратного вызова, которая будет вызвана в случае если объект-promise будет разрешён. ||
|| [`onRejected`](#spread-param-onRejected) | — | Тип: Function

Функция обратного вызова, которая будет вызвана в случае если объект-promise будет отклонён. ||
|| [`ctx`](#spread-param-ctx) | — | Тип: Object

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


**Пример:**

```javascript
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 {#then}

```javascript
{vow.Promise} then([onFulfilled[, onRejected[, onProgress[, ctx]]]])
```

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

**Возвращает** новый объект-promise. См. [Спецификацию Promise/A+](https://github.com/promises-aplus/promises-spec).

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`onFulfilled`](#then-param-onFulfilled) | — | Тип: Function

Функция обратного вызова, которая будет вызвана в случае если объект-promise будет разрешён. ||
|| [`onRejected`](#then-param-onRejected) | — | Тип: Function

Функция обратного вызова, которая будет вызвана в случае если объект-promise будет отклонён. ||
|| [`onProgress`](#then-param-onProgress) | — | Тип: Function

Функция обратного вызова, которая будет вызвана при "оповещении" объекта-promise. ||
|| [`ctx`](#then-param-ctx) | — | Тип: Object

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

### valueOf {#valueOf}

```javascript
{Object} valueOf()
```

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

<!-- XLIFF_FARM_ZGJhNWUy_CACHING -->