服务器未在Controller中调用

时间:2018-04-15 18:35:23

标签: angularjs

任何人都可以指出错误,为什么我无法在控制器中读取服务? 我的工作代码在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);
}
    )();

1 个答案:

答案 0 :(得分:2)

您需要从服务中的所有方法返回承诺

var getuser = function(userName) {
        return  $http.get("https://api.github.com/users/" + userName).then(
          function(response) {
            return response.data;
          });

};

<强> WORKING DEMO