如何获得Promise 对象的当前状态?

如题:能获取吗?如果不能,请分析下原因。

阅读 15.9k
2 个回答

PromiseStatus 是内部变量,无法获取,也不需要获取,如果你需要知道其状态,在new Promise时定义即可,在回调函数中改变状态值。

let status = "padding";
new Promise((resolve,reject) = {
    [code]
    if([OK]){
        status = "fulfilled"
    } else {
        status = "rejected"
    }
}).catch(reject => {
    status = "rejected"
})

严格的说,promiss没有当前状态这一说,只有
还没进行(还没执行)
成功
失败
这三种状态互不可逆,所以你获取当前状态没意义,要么还没执行,这个你通过代码就能控制,要么就是执行了的结果,不是成功就是失败
倒是执行的结果可以稍微控制一下

new Promise((resolve,reject) = {
    if(reject){
      return  reject('执行失败了');
    } 
    return resolve('执行成功');
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题