【发布时间】:2014-11-29 02:14:53
【问题描述】:
我有这样的数据服务:
this.myFunction= function(callback) {
var url = rootURL + "path1/path2/service.json";
var promise = $http.get(url);
promise.then(function(payload){
return callback(payload);
});
return promise;
}
在控制器中调用它来初始化一些东西:
DataService.myFunction(function(data) {
if(data.statusText !== "OK"){
$scope.$worked= false;
}else{
$scope.$worked= true;
}
}
我得到“TypeError:无法读取未定义的属性'then'”。回调中的 Console.log(data) 显示 200“OK”响应和我期望的数据。我已经搜索过这个错误,主要是由于没有在服务中返回承诺。但是,我要兑现承诺。在回调中对控制器范围设置任何内容都会导致错误。
Angular 版本:AngularJS v1.3.0-rc.2
谢谢!
【问题讨论】:
-
可以发一下回调函数吗?此外,无需将 get 分配给一个变量,它已经是一个承诺,您只需调用 .then 就可以了。
-
你能提供一个 plunkr 或更多的上下文吗?看来该代码不应抛出该 TypeError。
标签: angularjs