任何人都可以指出错误,为什么我无法在控制器中读取服务? 我的工作代码在script2.js.I我正在尝试创建一个新的服务github.js,它将从github api获取用户名和repos_url。
Plunker链接
https://plnkr.co/edit/4jnawDJgdMM61GYfpxor?p=preview
我的服务github.js
我得到的错误是
TypeError:无法读取属性'然后'未定义的 在ChildScope.MainController。$ scope.searchFn(script3.js:33) (function(){
var github = function($http) {
var getuser = function(userName) {
$http.get("https://api.github.com/users/" + userName).then(
function(response) {
return response.data;
});
};
var getRepos = function(user1) {
$http.get(user1.repos_url).then(
function(response) {
return response.data;
});
};
return {
getuser: getuser,
getRepos: getRepos
};
};
var module = angular.module("MyTestApp");
module.factory("github", github);
}
)();
答案 0 :(得分:2)
您需要从服务中的所有方法返回承诺
var getuser = function(userName) {
return $http.get("https://api.github.com/users/" + userName).then(
function(response) {
return response.data;
});
};
<强> WORKING DEMO 强>