Javascript 从Angular JS中的模块更新范围变量
我学习了以下模块:Javascript 从Angular JS中的模块更新范围变量,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,我学习了以下模块: var mod; mod = angular.module('ajax-interceptor', []); mod.config(function($httpProvider) { $httpProvider.interceptors.push(["$q", function($q, dependency1, dependency2) { return { 'request': function(config) {
var mod;
mod = angular.module('ajax-interceptor', []);
mod.config(function($httpProvider) {
$httpProvider.interceptors.push(["$q", function($q, dependency1, dependency2) {
return {
'request': function(config) {
//want to update a scope variable when a request is placed
return config;
},
'requestError': function(rejection) {
return $q.reject(rejection);
},
'response': function(response) {
return response;
},
'responseError': function(rejection) {
return $q.reject(rejection);
}
};
}]);
});
每当发出请求时,我想更新一个范围变量。我该怎么做?我无法在配置块中插入
$scope
。我将使用此变量跟踪用户的活动,就像用户在10分钟内未请求用户将被强制注销一样。您可以向模块中添加工厂并跟踪其中的用户活动:
mod.factory("factoryName", [
function(){
var factory = {};
factory.track = function(userActivity){
// Save user activity
};
return factory;
}
]);
然后必须将工厂注入$httpProvider并使用它:
$httpProvider.interceptors.push(["$q", "factoryName", function($q, factoryName, dependency1, dependency2) {
return {
'request': function(config) {
//want to update a scope variable when a request is placed
factoryName.track(userActivity);
return config;
}
};
}]);