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;
        }
    };
}]);
不要使用类

我在这里做了一个拦截器