Javascript Angular JS-侦听或绑定$http请求

Javascript Angular JS-侦听或绑定$http请求,javascript,angularjs,Javascript,Angularjs,是否有一种方法可以在每次有$http请求时以及在收到响应后侦听/绑定事件 实际上,我已经通过提供自己的事件和侦听器手动完成了这项工作,但我只是好奇Angular JS中是否已经有一个侦听器用于此工作 我之所以想这样做,是因为每次我的应用程序发送/执行$http请求时,我都想显示我的加载屏幕,以指示应用程序正在检索数据,然后在收到响应后将其隐藏 谢谢 您可以使用 var httpinterceptor = function ($q, $location) { return {

是否有一种方法可以在每次有$http请求时以及在收到响应后侦听/绑定事件

实际上,我已经通过提供自己的事件和侦听器手动完成了这项工作,但我只是好奇Angular JS中是否已经有一个侦听器用于此工作

我之所以想这样做,是因为每次我的应用程序发送/执行$http请求时,我都想显示我的加载屏幕,以指示应用程序正在检索数据,然后在收到响应后将其隐藏

谢谢

您可以使用

var httpinterceptor = function ($q, $location) {
    return {
        request: function (config) {
            //show your loading message
            console.log(config);
            return config;
        },

        response: function (result) {
            //hide your loading message
            console.log('Repos:', result);
            return result;
        },

        responseError: function (rejection) {
            //hide your loading message
            console.log('Failed with', rejection);
            return $q.reject(rejection);
        }
    }
};

app.config(function ($httpProvider) {
    $httpProvider.interceptors.push(httpinterceptor);
});
演示:

您可以使用

var httpinterceptor = function ($q, $location) {
    return {
        request: function (config) {
            //show your loading message
            console.log(config);
            return config;
        },

        response: function (result) {
            //hide your loading message
            console.log('Repos:', result);
            return result;
        },

        responseError: function (rejection) {
            //hide your loading message
            console.log('Failed with', rejection);
            return $q.reject(rejection);
        }
    }
};

app.config(function ($httpProvider) {
    $httpProvider.interceptors.push(httpinterceptor);
});

演示:

上面已经有一个模块,您可以根据需要使用和修改它。请检查此

上面已经有一个模块,您可以根据需要使用和修改它。请检查此

您可以使用。它通过使用角度拦截器自动加载条的进度。将同一时间段内的多个请求捆绑在一起,以便每个响应将进度条增加适当的量

    app.config(['cfpLoadingBarProvider', function(cfpLoadingBarProvider) {
        cfpLoadingBarProvider.includeSpinner = false; // second boot loader, you can show or hide
        cfpLoadingBarProvider.includeBar = true; // main loader
        cfpLoadingBarProvider.latencyThreshold = 200; // delay
    }])
希望这有助于…

您可以使用。它通过使用角度拦截器自动加载条的进度。将同一时间段内的多个请求捆绑在一起,以便每个响应将进度条增加适当的量

    app.config(['cfpLoadingBarProvider', function(cfpLoadingBarProvider) {
        cfpLoadingBarProvider.includeSpinner = false; // second boot loader, you can show or hide
        cfpLoadingBarProvider.includeBar = true; // main loader
        cfpLoadingBarProvider.latencyThreshold = 200; // delay
    }])

希望这有帮助……

谢谢,我们会关注的。谢谢,我们会关注的。