让 Promise 的状态变成可控的

让 Promise 的状态变成可控的
关键在于创建Promise对象的时候,需要对外暴露两个参数。示例代码如下

var hook = {
    resolve() {},
    reject() {},
}

var myPromise = new Promise((res, rej) => {
    hook.resolve = res;
    hook.reject = rej;
})

myPromise.then(res => {
    console.log('Resolved:', res);
}).catch(err => {
    console.log('Rejected:', err);
})

之后简单了,只需调用hook.resolve()或者hook.reject()就可以任意更改 promise 对象的状态

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
63
粉丝
17
喜欢
140
收藏
118
排名:132
访问:7.4 万
私信
所有博文
社区赞助商