Javascript AngularJS-将承诺成功值返回给调用函数
我正在学习AngularJS和AJAX。我试图将成功函数返回的数据分配给用户。grantRole属于身份验证服务。我目前拥有的用户价值是一个承诺。如何将成功返回的数据分配给用户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){
$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);
}
);