Passing parameters to promise's success callback in angularjs $q

霸气de小男生 提交于 2019-12-05 19:55:33

You can use this:

function getStuff(accountNumber) {
    var logMessage = 'POST GetStuff';

    return $http.post(GetStuff, { custId: accountNumber })
        .then(
           function success(response) {
               return log(response, logMessage);
           }
        );
}

Depending on your preference/requirements you could do a few things. I normally write promise callbacks like this, so you could do:

.then(function success(response){
  return log(response, logMessage);
});

or, depending on how you feel about this way (i know some people don't like it, i try to avoid unless absoluley nessesary)

.then(log.bind(null, response, logMessage));

Do either of these work for you?

See if it can help you:

function getStuff(accountNumber) {
  var logMessage = 'POST GetStuff';
  var deferred = $q.defer();

  return $http.post(GetStuff, { custId: accountNumber })
   .success(function(response){
      deferred.resolve(response);
      log(response, logMessage);
   }).error(function(){
      deferred.reject();
   })     
   return deferred.promise;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!