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