【发布时间】:2014-07-30 22:37:14
【问题描述】:
我有一个工厂,它有多种服务来查询我构建的自定义 API。回调都有效,但我想知道如何在获取时进行任何错误处理。
.factory('customApiService', function ($resource) {
return {
yelp: function (businessId, callback) {
var api = $resource('../../api/Yelp/:businessId', {
businessId: businessId
}, {
fetch: 'JSONP',
'query': { isArray: false }
});
api.fetch(function (response) {
callback(response);
});
},
tripAdvisor: function (hotelId, callback) {
var api = $resource('../../api/TripAdvisor/:hotelId', {
hotelId: hotelId
}, {
fetch: 'JSONP',
'query': { isArray: false }
});
api.fetch(function (response) {
callback(response);
});
}
}
});
还有一个在控制器中使用这个工厂的例子:
.controller('yelpCtrl', [
'$scope', 'customApiService', function ($scope, customApiService) {
customApiService.yelp("yelpIdHere", function (d) {
//On successful callback run code
});
customApiService.tripAdvisor("tripAdvisorIdHere", function (d) {
//On successful callback run code
});
}
])
目前如果有任何错误响应(404、500、504 等),则不会触发回调。
【问题讨论】:
标签: angularjs ngresource