类: 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`