2016-02-25 31 views
0

在這裏我的第一個Angular應用程序工作,所以如果問題不明確,請原諒我。Angular - 如何將參數傳遞給延期承諾?

我有一個服務,其中gets從我的api使用標題組變量。

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

您需要按以下方式修改您的功能。 $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; 
} 

,你可以使用承諾作爲

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

謝謝 - 非常清楚地顯示。讚賞。 – userMod2

相關問題