我知道 Angular 可以处理来自控制器的承诺。例如:
function MyCtrl($scope) {
$scope.myvar = getDeferredPromise();
}
主要的角度摘要循环优雅地处理这个问题,将延迟函数最终返回的任何值分配给myvar。
但是,尽管$http.get()方法返回了一个承诺,但我无法让它以这种方式工作。例如:
function MyCtrl($scope, $http) {
$scope.myvar = $http.get('/url');
}
get 方法返回的“承诺”有一个success方法,该方法采用一个函数,该函数分配了希望分配给myvar的数据。
然而,它也有一个then方法——但它给出了整个响应对象——而不仅仅是那个数据部分!这似乎最终被分配给myvar!
这个小提琴可能会有所帮助:http: //jsfiddle.net/QKnNC/1/
我在这里做错了吗?或者这是某种“设计”?