Angular 自定义服务调用失败
Angular custom service call fails
我一直在关注 PluralSight 上的在线教程以使用 Angular,但似乎有些信息已过时。
我已经读到关于创建自定义服务的部分,并严格按照教程进行操作,但是我的自定义服务无法正常工作。
当我尝试调用我的 github 服务时,它似乎失败了,看起来承诺无法 return 正确地 script.js .then()
处理程序 github.getUser()
它的源代码在这里 http://plnkr.co/edit/8vy6ZMpUJBfEOQ3qFoKk
有人可以告诉我我在这里缺少什么吗?
如果您只是想让它正常工作,请按以下方法修复它:
您的第二个选择是在服务上向您的 $http
添加 return,如下所示:
var getUser = function(username) {
return $http.get("https://api.github.com/users/" + username)
.then(function(response) {
return response.data;
});
};
请注意,您只忘记了 $http 之前的第一个 "return"。其余工作正常
解决这个问题的更好方法是不在服务中解决您的承诺。这样您就可以获得精简服务,并可以在您的控制器中随心所欲地管理您的数据。
所以我将您的 getUser 更改为:
var getUser = function(username) {
return $http.get("https://api.github.com/users/" + username);
};
这样 return 就是 $http
的全部承诺。因为我删除了你的 "wrapper" 我也需要修改你的 onUserComplete ()
:
var onUserComplete = function(result) {
$scope.user = result.data;
github.getRepos($scope.user).then(onRepos, onError);
};
这是工作中的 plunker:http://plnkr.co/edit/8abkaU08fCzFreA5APz1?p=info
我一直在关注 PluralSight 上的在线教程以使用 Angular,但似乎有些信息已过时。
我已经读到关于创建自定义服务的部分,并严格按照教程进行操作,但是我的自定义服务无法正常工作。
当我尝试调用我的 github 服务时,它似乎失败了,看起来承诺无法 return 正确地 script.js .then()
处理程序 github.getUser()
它的源代码在这里 http://plnkr.co/edit/8vy6ZMpUJBfEOQ3qFoKk
有人可以告诉我我在这里缺少什么吗?
如果您只是想让它正常工作,请按以下方法修复它:
您的第二个选择是在服务上向您的 $http
添加 return,如下所示:
var getUser = function(username) {
return $http.get("https://api.github.com/users/" + username)
.then(function(response) {
return response.data;
});
};
请注意,您只忘记了 $http 之前的第一个 "return"。其余工作正常
解决这个问题的更好方法是不在服务中解决您的承诺。这样您就可以获得精简服务,并可以在您的控制器中随心所欲地管理您的数据。
所以我将您的 getUser 更改为:
var getUser = function(username) {
return $http.get("https://api.github.com/users/" + username);
};
这样 return 就是 $http
的全部承诺。因为我删除了你的 "wrapper" 我也需要修改你的 onUserComplete ()
:
var onUserComplete = function(result) {
$scope.user = result.data;
github.getRepos($scope.user).then(onRepos, onError);
};
这是工作中的 plunker:http://plnkr.co/edit/8abkaU08fCzFreA5APz1?p=info