我有一个角度使用restangular来击中api。这是一个模型的例子
ReservationModel.factory('ReservationRestangular', function (Restangular) {
var baseURL = '';
return Restangular.withConfig(function(RestangularConfigurer) {
RestangularConfigurer.setBaseUrl(baseURL);
});
}).service('ReservationService', ['ReservationRestangular', function(ReservationRestangular) {
this.get = function(id) {
return ReservationRestangular.one('reservations', id).get().then(function(response) {
return response;
});
};
this.all = function() {
return ReservationRestangular.all('reservations').getList().then(function(response) {
return response;
});
};
}]);
目前,需要预订列表的每个控制器都会调用ReservationService.all来访问服务器,如果他们需要特定的预留,则会调用ReservationService.get并点击服务器。如果他们移动到应用程序的不同部分,控制器需要保留,它会再次执行此操作。
我想要的是服务器只在第一次被点击时说全部被调用并将响应存储在ReservationService中的一个变量中,该变量可以在下次检查并立即返回而不是再次点击服务器。
如果创建或编辑了预订,则可以再次呼叫所有预订以获取更新列表
如果要求个人预订,则应首先检查存储的预约列表,如果找到则从该列表返回预订,而不是点击服务器。
这是正确的做事方式吗?
是预订服务的最佳位置吗?它是一个单身人士,因此每次会议只能创建一次' (可能不是正确的术语)并在所有模块和控制器之间共享?