类: Deferred<T>


类: Deferred<T>

lang.Deferred

Deferred类,用于创建Promise的延迟对象,而无需使用new Promise。通过resolve或reject函数可以设置Promise的状态。

示例

"nodejs";
const { Deferred } = require('lang');
async function main() {
    console.log(await add(1, 2));
}
main();

function add(a, b) {
    const d = new Deferred();
    setTimeout(() => {
        d.resolve(a + b);
    }, 1000);
    return d.promise();
}

## 类型参数

| 名称 |
| :------ |
| `T` |

## 目录

### Constructors

- [constructor](lang.Deferred.md#constructor)

### Accessors

- [value](lang.Deferred.md#value)

### 方法

- [promise](lang.Deferred.md#promise)
- [reject](lang.Deferred.md#reject)
- [resolve](lang.Deferred.md#resolve)

## Constructors

### constructor

• **new Deferred**<`T`\>(`keepRunning?`)

#### 类型参数

| 名称 |
| :------ |
| `T` |

#### 参数

| 名称 | 类型 | Default value |
| :------ | :------ | :------ |
| `keepRunning` | `boolean` | `true` |

## Accessors

### value

• `get` **value**(): `undefined` \| `T`

获取Deferred的值,如果为pending或rejected状态,则返回undefined。

#### 返回值

`undefined` \| `T`

## 方法

### promise

▸ **promise**(): `Promise`<`T`\>

#### 返回值

`Promise`<`T`\>

___

### reject

▸ **reject**(`reason?`): `boolean`

使用给定的reason作为原因或异常设置Promise的状态为rejected。若已经resolved或rejected状态,则返回false。

#### 参数

| 名称 | 类型 |
| :------ | :------ |
| `reason?` | `any` |

#### 返回值

`boolean`

___

### resolve

▸ **resolve**(`value`): `boolean`

使用给定的值设置Promise的状态为fulfilled。若已经是fulfilled或rejected状态,则返回false。

#### 参数

| 名称 | 类型 |
| :------ | :------ |
| `value` | `T` |

#### 返回值

`boolean`