---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/util.Promise.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/llms.txt

# util.Promise

Расширяет [IPromiseProvider](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/IPromiseProvider.md).

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

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

```javascript
util.Promise()
```

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

**Пример:**

```javascript
// создаем экземпляр
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
```
## Методы {#methods}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| **Имя:** [reject](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/util.Promise.md#reject)([[error](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/util.Promise.md#reject-param-error)]) |  | Прерываем слушание. ||
|| [resolve](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/util.Promise.md#resolve)([[value](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/util.Promise.md#resolve-param-value)]) |  | Вызывает функции-обработчики, когда "обещание" выполнено. ||
|| [then](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/util.Promise.md#then)([[onResolve](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/util.Promise.md#then-param-onResolve)[, [onReject](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/util.Promise.md#then-param-onReject)]]) | [util.Promise](https://yandex.ru/dev/maps/archive/doc/jsapi/2-0/ru/ref/reference/util.Promise.md) | Подписка на "обещание". ||
|#

## Описание методов {#description-methods}

### reject

```javascript
{} reject([error])
```

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

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `error` | — | Тип: String\|Object

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

### resolve

```javascript
{} resolve([value])
```

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

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `value` | — | Тип: Object

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

### then

```javascript
{util.Promise} then([onResolve[, onReject]])
```

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

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

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

#|
|| **Параметр** | **Значение по умолчанию** | **Описание** ||
|| `onResolve` | — | Тип: Function

Функция-обработчик, которая вызывается, если обещание выполнено. ||
|| `onReject` | — | Тип: Function

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