[英]AngularJS $http.get send same xhr request twice
在我的应用程序中,我正在使用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
};
如何防止查询重复?
默认情况下, $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)
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.