---
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.Deferred.md
  - https://yandex.com.tr/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Deferred.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/dev/jsapi-v2-1/doc/en/llms.txt

# vow.Deferred

A class which describes the deferred objects.

{% note info %}

This class is a part of the [Vow](https://github.com/dfilatov/vow/) library. Only some of the methods are described below. The complete list of methods is available here: [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 %}

It is not a stand-alone module: it is available only if the [vow](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/vow.md) module is connected.

{% endnote %}

[Constructor](#constructor-summary) | [Methods](#methods-summary)

## Constructor {#constructor-summary}

```javascript
vow.Deferred()
```

Creates a deferred object.

**Example:**

```javascript
function someAsyncMethod () {
    var deferred = new ymaps.vow.Deferred();
    // or:
    // `var deferred = ymaps.vow.defer();`

    doSomeAsyncStuff(function (err, value) {
        if (err) {
            deferred.reject(err);
            return;
        }

        deferred.resolve(value);
    });

    return deferred.promise();
}

someAsyncMethod().then(function (value) {
    console.log('The method result: ' + value);
}, function (err) {
    console.log('Error: ' + err);
});
```

## Methods {#methods-summary}

#|
|| **Name** | **Returns** | **Description** ||
|| [promise](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/vow.Deferred.md#promise)() | [vow.Promise](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/vow.Promise.md) | Returns the associated promise object. ||
|| [reject](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/vow.Deferred.md#reject)([reason](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/vow.Deferred.md#reject-param-reason)) | | Rejects the associated promise object with the specified reason. ||
|| [resolve](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/vow.Deferred.md#resolve)([value](https://yandex.com.tr/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/vow.Deferred.md#resolve-param-value)) | | Accepts the associated promise object with the specified value.||
|#

## Methods details {#method_detail}

### promise {#promise}

```javascript
{vow.Promise} promise()
```

**Returns** the associated promise object.

### reject {#reject}

```javascript
{} reject(reason)
```

Rejects the associated promise object with the specified reason.

**Parameters:**

#|
|| **Parameter** | **Default value** | **Description**  ||
|| [`reason`](#reject-param-reason)[*](*star) | — | Type: Object

The reason for rejection. ||
|#

\* Mandatory parameter/option.

### resolve {#resolve}

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

Accepts the associated promise object with the specified value.

**Parameters:**

#|
|| **Parameter** | **Default value** | **Description**  ||
|| [`value`](#resolve-param-value)[*](*star) | — | Type: Object

Value. ||
|#

\* Mandatory parameter/option.

[*star]: Mandatory parameter/option.