在我的场景中,当我提出请求时,我会回复一个承诺。
最后我解决/拒绝延期的obj。
如果没有得到解决/拒绝,我想重复使用该承诺。
任何信息都会有用。
答案 0 :(得分:9)
我通过查看q.js来源得到了答案。
deferred.promise.inspect().state
这将返回承诺的状态。
returns "fulfilled" if it was resolved or fulfilled
returns "rejected" if it was rejected
returns "pending" if it hasn't been resolved or rejected
答案 1 :(得分:1)
您可以使用不太冗长的状态检查方法。调用方法总是比检查===
的状态更好。如果有拼写错误的方法,您将立即收到错误消息。使用===
时,输入错误将返回false
,这可能是一个错误。在Q API参考中,
promise.isFulfilled()
返回给定的承诺是否处于履行状态。当静态
版本用于非承诺,结果始终为true
。
promise.isRejected()
返回给定的承诺是否处于拒绝状态。当静态
版本用于非承诺,结果始终为false
。
promise.isPending()
返回给定的承诺是否处于未决状态。当静态版本
用于非承诺,结果始终为false
。