使用jQuery延迟,我习惯于这样检查当前状态:
var defer = $.Deferred(); defer.state(); //Returns the state of the deferred, eg 'resolved'
有没有办法对Angular deferreds做同样的事情?(甚至更好的承诺)
更新 :
由于$ q的重构,现在可以实现,尽管没有记录:
promise.$$state.status === 0 // pending promise.$$state.status === 1 // resolved promise.$$state.status === 2 // rejected
原件 :
与大多数承诺库(Bluebird,Q,when,RSVP等)不同,$ q不公开同步检查API。
无法从外部实现此目的。
您必须调用.thenpromise,并且当promise实现时,该处理程序中的代码将运行。
.then