在Chrome开发人员工具中找到Promise对象状态的最短方法?

时间:2017-09-09 05:16:47

标签: javascript promise google-chrome-devtools

我正在使用Angular JS并且需要知道Promise对象的状态是否处于Pending / Fulfilled / Rejected状态?

在Chrome开发者工具(第60页)中,我目前所做的是

  1. 选择该变量并选择存储为全局变量temp1

     temp1;
     Deferred {promise: Promise, resolve: ƒ, reject: ƒ, notify: ƒ}
    
  2. 写下面的语句来检查Promise对象的状态。

    temp1.then(() => { console.log('resolved'); })
         .catch(()=> { console.info(''rejected'); });
    
  3. 虽然这很好用。但我正在寻找任何替代/不同的方法,它们以相同的方式做同样的事情。

    temp1.isRejected // return true/false
    temp1.isResolved // return true/false
    

    我还检查了一个建议,即我们可以在控制台中编写方法并且可以使用此temp1变量运行但是为此,我需要在每个新选项卡上编写方法,这也很麻烦。

    任何建议或帮助?

1 个答案:

答案 0 :(得分:3)

如果您使用Chrome的原生Promise,您只需查看Promise的[[PromiseStatus]]属性:

enter image description here

使用AngularJS中的标准$q承诺(我假设您正在讨论Angular 1.x),您可以检查$$state属性:

enter image description here