Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS-将承诺成功值返回给调用函数_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS-将承诺成功值返回给调用函数

Javascript AngularJS-将承诺成功值返回给调用函数,javascript,angularjs,Javascript,Angularjs,我正在学习AngularJS和AJAX。我试图将成功函数返回的数据分配给用户。grantRole属于身份验证服务。我目前拥有的用户价值是一个承诺。如何将成功返回的数据分配给用户 $scope.grantRole = function(user) { user = Auth.grantRole(user).then( function success(data){ return data; }, function error(err){

我正在学习AngularJS和AJAX。我试图将成功函数返回的数据分配给用户。grantRole属于身份验证服务。我目前拥有的用户价值是一个承诺。如何将成功返回的数据分配给用户

$scope.grantRole = function(user) {

  user = Auth.grantRole(user).then(
    function success(data){
        return data;
    },
    function error(err){
        console.log(err);
    }
 );

grantRole: function(user,callback) {
      var cb = callback || angular.noop;
      var data = {id: user._id,controller:'role'};
       return User.update({id: user._id,controller:'role'},data,
          function(user) {
            return cb(user);
          }, function(err) {
            return cb(err);
          }).$promise;
};

用户承诺的当前值是正确的。一旦承诺得到解决,它将被分配给成功返回的数据

但在重新分配对象或数组时必须小心。看

例如,不要这样做:user=

而是这样做:angular.copy(newInfo,user)或这样做:user.email=


看起来你对承诺感到困惑。最好找到一个快速教程,了解回调和承诺之间的风格差异。
$scope.grantRole = function(user) {

  Auth.grantRole(user).then(
    function success(data){
        angular.copy(data, user);
    },
    function error(err){
        console.log(err);
    }
);