在我的应用中,我正在使用Angularjs-gulp-browserify-boilerplate
在我的服务中,我有下一个代码:
function ResourceService($http, AppSettings) {
'ngInject';
const service = {};
service.getResource = function(params) {
console.log('Get resource')
return new Promise((resolve, reject) => {
$http.get(AppSettings.apiUrl + 'v1/resorce')).then((resp) => {
resolve(resp);
}).catch((err, status) => {
reject(err, status);
});
});
};
在控制器中:
function ResourceCtrl(BidService) {
'ngInject';
// ViewModel
const vm = this;
ResourceService.getResource().then((res) => {
vm.items = res.data;
});
}
export default {
name: 'ResourceCtrl',
fn: ResourceCtrl
};
如何防止查询重复?
答案 0 :(得分:1)
默认情况下$http
会返回一个承诺。所以你不需要再次创建一个承诺来解决它。只需从服务返回请求并解决来自控制器的承诺。
service.getResource = function(params) {
console.log('Get resource')
return $http.get(AppSettings.apiUrl + 'v1/resorce'))
};
控制器
ResourceService.getResource()
.then((res) => {
vm.items = res.data;
}).catch((res) => {
console.log(res.data)
});