【发布时间】:2017-06-23 15:36:36
【问题描述】:
我的基于 API 的应用程序有一个 AngularJS 前端。有些服务会进行 API 调用,如下所示。我想比较每个调用的变量:
获取用户数据:
this.getUserData = function () {
var apiCall = $http({
method: 'GET',
url: 'http://example.com/api/userdata',
headers: {
'Authorization': 'Bearer ' + localStorage.getItem('token'),
'Access-Control-Allow-Origin': 'Any'
}
});
return apiCall;
};
获取页面数据:
this.getPageData = function(slug){
var apiCall = $http.get('http://example.com/api/public/page?slug=' + slug, {
headers: { 'Authorization': 'Bearer ' + localStorage.getItem('token') }
}
)
return apiCall;
};
在我的控制器中,我希望比较每个调用的 var,如下所示:
if (apiService.getUserData.likes.page_id == apiService.getPageData.page_id){ // do stuff }
考虑到 API 调用可能需要一段时间,执行此操作的最有效方法是什么。我不必每次想从 API 访问变量时都进行 API 调用,对吗?请记住,这些 API 调用通常会在不同的控制器中进行,因此结果存储在不同的范围内。
基本上,我很困惑那部分逻辑应该放在控制器、服务本身还是其他地方。任何建议表示赞赏。谢谢。
【问题讨论】:
标签: angularjs service api-design