0
我有一個調用API的角度項目。我試圖找出如何從返回的結果中引用一個值,並試圖通過查看console.log結果來找出它。從控制檯結果中確定價值的路徑
這裏是我的服務電話:
var getUserCampaigns = function(userId){
return $q(function(resolve, reject){
$http.get(API_ENDPOINT.url + '/campaign/user/' + userId).then(function(result){
if(result.status !== 200) {
reject(result);
} else {
resolve(result.data);
console.log('from service: ', result);
}
},function(error){
console.log('There was an error in getting user campaigns: ', error);
reject(error);
});
});
};
這裏是由API調用返回:
Returned campaign: e
$$state: Object
status: 1
value: Array[2]
0: Object
__v: 0
_id: "583bc4f3bbb04f2b65a34ebc"
description: "This is my description"
endDate: "2016-11-28T05:47:31.261Z"
goalAmount: 23000
mainImage: "image.gif"
ownerId: "58352f5d2632c371aa951be7"
postedOn: "2016-11-28T05:47:31.261Z"
startDate: "2016-11-28T05:47:31.261Z"
subtitle: "subtitle here see"
title: "Title of my campaign"
在我的控制,我嘗試引用這樣的結果:
getUserCampaigns:function(){
this.campaigns = CampaignService.getUserCampaigns(self.userId);
console.log('Value: ' + this.campaigns.title);
}
但我的控制檯日誌中的「值」返回爲「未定義」。
我錯過了什麼?
謝謝。我使用$ q對API進行異步調用。你的建議很簡單,但我認爲缺省的$ http。(verb)是同步的。情況並非如此嗎? – cnak2
在這種情況下,因爲.then(),但我認爲你需要它,以便你可以處理響應數據。 – jbrown