【问题标题】:angular callback function in controller控制器中的角度回调函数
【发布时间】:2015-04-10 15:17:31
【问题描述】:

get方法结束后如何使用this.getAllUsers中的回调函数获取数据?

当我运行这段代码时 gitData 是空的

//REPOSITORY
$provide.factory('UsersRepository',["Repository",function(repository) {
  this.route = '/api/mongoid_users';

  this.getUsers = function(success_callback){
    repository.get(this.route,success_callback);
  };

  return this;
}]);



//CONTROLLER
this.initGitData = function(urlData){
  var gitData = {};
  gitData = {
    allUsers: ctrl.getAllUsers(urlData)
  };
  ctrl.getTypeRepository(gitData);
}

this.getAllUsers = function(urlData){
  usersRepository.getUsers(function(users, status, headers, config){

  });
};

【问题讨论】:

    标签: angularjs callback repository


    【解决方案1】:

    你的代码风格很乱(抱歉!)

    如果你声明了 service/repository 方法,使用 promise 样式等待返回结果:

    //CONTROLLER
    this.initGitData = function (urlData) {
        ctrl.getAllUsers(urlData).then(function (result) {
            var gitData = {
                allUsers: result
            };
            ctrl.getTypeRepository(gitData);
        })
    };
    

    【讨论】:

    • 感谢响应但 > TypeError: Cannot read property 'then' of undefined
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    相关资源
    最近更新 更多