Angularjs中的TypeScript侦听器不工作
我的拦截器不工作,没有触发。我有什么错误吗?对不起,我还是新手:Angularjs中的TypeScript侦听器不工作,angularjs,typescript,interceptor,Angularjs,Typescript,Interceptor,我的拦截器不工作,没有触发。我有什么错误吗?对不起,我还是新手: module myApp { export class HttpConfigurator { public configure(httpProvider: ng.IHttpProvider) { console.log(httpProvider); console.log(httpProvider.interceptors[0]); httpProvider.interce
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中使用时,这是有效的。当我将其转换为typescript时,问题就开始了。我看不到任何地方定义了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;
}
};
}]);
不要使用类 我在这里做了一个拦截器