当使用Angular的$ q时,为什么一切都保存在$$状态对象下?我的印象是双美元在Angular中意味着私有,在这种背景下对我来说并不合适。我是否错误地实现了我的承诺?
只是测试,这会返回带有$$状态的对象:
$scope.makePromise = function(){
return $q(function(resolve, reject){
resolve('Promise Resolved');
});
}
答案 0 :(得分:0)
嗯,$$state
是Angular如何跟踪其承诺的内部状态。您不应该在自己的代码中使用它,它可能在将来中断。
相反,如果你想检查承诺的状态 - 你应该为它添加一个then
处理程序:
myPromise.then(function(el){
// I got here after the promise resolved and `el` is the value
// it fulfilled with.
}, function(e){
// I got here after the promise rejected and `e` is the error
// it rejected with.
});