我有一個service
,返回promise
。如何設計服務來獲取需要多次調用的數據?
function GetSuggestedPeersService($http, SITE_CONFIG) {
var getSuggestedPeersService = this;
var data;
getSuggestedPeersService.getSuggestedPeersList = function() {
var baseUrl = SITE_CONFIG.baseUrl + "fetchSuggestedPeers";
var response = $http({
method : 'POST',
url : baseUrl,
headers : {
'Content-Type' : 'application/x-www-form-urlencoded'
},
data : data
});
return response;
}
getSuggestedPeersService.setSuggestedPeers = function(suggestedPeers) {
getSuggestedPeersService.suggestedPeers = suggestedPeers;
}
getSuggestedPeersService.getSuggestedPeers = function() {
return getSuggestedPeersService.suggestedPeers;
}
}
現在我用下面的控制器來解決承諾:
//gets the suggested peers
var promiseSuggestedPeers = GetSuggestedPeersService.getSuggestedPeersList();
promiseSuggestedPeers.then(function (response) {
peerHealthController.GetSuggPeersShow = response.data;
GetSuggestedPeersService.setSuggestedPeers(peerHealthController.GetSuggPeersShow);
return peerHealthController.GetSuggPeersShow;
})
.catch(function (error) {
console.log("Something went terribly wrong Suggested Peers.");
});
現在的問題是把這種服務多次,需要更新此上的其他服務電話也是如此。
編寫控制器部件的最佳方式是什麼,以便在每次撥打服務時不重複解析諾言?
你必須是一個Java程序員。只有Java程序員會比代碼中的行數多使用像「suggestedPeers」這樣的名詞。 – georgeawg
@georgeawg哈哈。是的,你說得對。你似乎是一位經驗豐富的角色程序員。你對這個問題有什麼建議嗎? –