我的拦截器无效(未触发)。我的任何错误?对不起,我还是个菜鸟:(
module myApp {
export class HttpConfigurator {
public configure(httpProvider: ng.IHttpProvider) {
console.log(httpProvider);
console.log(httpProvider.interceptors[0]);
httpProvider.interceptors.push([
'$location',
'$q',
'$log',
($location: ng.ILocationService, $q: ng.IQService, $log: ng.ILogService) => {
return promise => promise.then(
response => { console.log(response.status); return response; },
response => {
console.log(response.status);
if (response.status >= 500) {
}
if (response.status === 401 || response.status === 403) {
$location.path('/403');
return $q.reject(response);
} else {
return $q.reject(response);
}
});
}]);
}
}
}
注意:以前这是在javascript中工作。当我将其转换为打字稿时,问题就开始了。
答案 0 :(得分:0)
我没有在任何地方看到promise
。请注意,由于拦截器的简单性,我只使用函数+工厂:
app.factory('appHttpInterceptor', [function () {
return {
response: function (response) {
if (typeof (MiniProfiler) != 'undefined') {
var ids = response.headers()['x-miniprofiler-ids'];
if (ids) {
MiniProfiler.fetchResultsExposed($.parseJSON(ids));
}
}
return response;
}
};
}]);
不要使用class
。