Angular - 如何将参数传递给延期承诺?

时间:2016-02-25 10:57:44

标签: javascript angularjs

在这里制作我的第一个Angular应用程序,请原谅我,如果问题不明确。

我使用标题中的组变量从我的api获得gets的服务。

var theReq = {
   method: 'GET',
   url: API + '/homeq',
   headers: {
     'group': 'mobile'
   }
};

$http(theReq)
.then(function(data){
    deferred.resolve(data);
})

self.getResults = function() {
    return deferred.promise;
}

我面临的问题是使用我指定的group变量而不是预设变量。

我可以肯定地将它传递给该函数(即self.getResults = function(groupToGet)),但是如何处理它到我处理的theReq

任何帮助表示感谢。

感谢。

1 个答案:

答案 0 :(得分:1)

您需要以下列方式修改您的功能。 $q是创建延迟对象的服务。你需要注射它。

self.getResults = function(groupToSet) {

  var deferred = $q.defer();
  var theReq = {
    method: 'GET',
    url: API + '/homeq',
    headers: {
       'group': groupToSet
    }
  };

  $http(theReq)
  .then(function(data){
     deferred.resolve(data);
  })


  return deferred.promise;
}

你可以使用promise作为

self.getResults("mobile").then(function(data) {
  //success function here.
}).catch(function(error) {
  //error function here
});