AngularJS:观察网络流量/ xhr请求

时间:2015-04-15 07:26:39

标签: javascript ajax angularjs

角度/角度的第三方模块是否支持网络流量监控,以及如何?

我想建立的类似于$ watch,仅用于网络流量。

$scope.$watch('xhrTraffic', function(newval) {
    newval - true when traffic starts/false when traffic ends
});

我希望能够控制浏览器何时处于网络使用状态,何时不能控制。

1 个答案:

答案 0 :(得分:-1)

在我看来,你需要像this

这样的东西

<强>更新

此代码将有助于管理XHR请求:

(function (){
'use strict';
angular.module( 'security.http-interceptor', [] )
    .factory( 'securityInterceptor', ['$injector', '$q', '$rootScope', function ( $injector, $q, $rootScope ){
                  return {
                      'request'       : function ( config ){
                          // do something on success
                          return config;
                      },
                      // optional method
                      'requestError'  : function ( rejection ){
                          // do something on error
                          if ( canRecover( rejection ) ) {
                              return responseOrNewPromise
                          }
                          return $q.reject( rejection );
                      },

                      // optional method
                      'response'      : function ( response ){
                          // do something on success
                          return response;
                      },

                      // optional method
                      'responseError' : function ( rejection ){
                          // do something on error
                          if ( canRecover( rejection ) ) {
                              return responseOrNewPromise
                          }
                          return $q.reject( rejection );
                      }
                  };
              }] )

    // We have to add the interceptor to the queue as a string because the interceptor depends upon service instances that are not available in the config block.
    .config( ['$httpProvider', function ( $httpProvider ){
                 $httpProvider.interceptors.push( 'securityInterceptor' );
             }] );
     }());

之前的链接是AUTH请求检查的一个例子。

有关拦截器的更多信息,请阅读here