跳至主要內容

类: Deferred<T>

约 265 字小于 1 分钟道无涯

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

Accessors

方法

Constructors

constructor

new Deferred<T>(keepRunning?)

类型参数

名称
T

参数

名称类型Default value
keepRunningbooleantrue

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。

参数

名称类型
valueT

返回值

boolean