0
使用angular $ q,我在质疑自己是否应该使用$$ state私有属性来检查承诺的状态(以检查它是未决还是已完成)。
假设这样的情况:
var promise = undefined;
$scope.click = function(){
if(promise != null && promise.$$state.status === 0)
return;
promise = doAsyncAnimation().then(function(){
console.log('hey, i'm done!');
});
}
它被认为是不好的做法?它会完全符合我的需求,而且我不喜欢使用单独的布尔变量来完成工作。 它有多少资格?
http://stackoverflow.com/questions/24091513/get-state-of-angular-deferred – mindparse
它不是问题*如何*做到这一点,但如果它被认为是一种好的做法。 – Luxor001
链接实际上是在灰色地带。一些承诺实现通过他们的API提供承诺检查(包括Q,这是$ q的灵感来源)。有些不。有些不这样做,但它仍然可以完成。 $ q属于后者。在某些情况下,承诺检查可以,但问题不在于其中之一。 – estus