Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在拦截器内发送新请求,而不获得循环依赖?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在拦截器内发送新请求,而不获得循环依赖?

Javascript 如何在拦截器内发送新请求,而不获得循环依赖?,javascript,angularjs,Javascript,Angularjs,如何从我的Http拦截器发送新请求。我总是得到无限循环 我正在使用AngularJS $injector.invoke(function($http) { $http({url: 'alert/find'}).then(function(resp) { defer.resolve(resp); console.log(resp); } 更新 我避免使用无限循环 // First time returns true if(response.config.url != 'myUr

如何从我的Http拦截器发送新请求。我总是得到无限循环

我正在使用AngularJS

$injector.invoke(function($http) {
   $http({url: 'alert/find'}).then(function(resp) {
   defer.resolve(resp);
   console.log(resp);
}
更新

我避免使用无限循环

// First time returns true
if(response.config.url != 'myUrl/test') {
  // my new request to 'myUrl/test'
} else {
  return response
}

//Second time when intercept http, it will to return response
//normally, breaking the infinite loop behaviour
要获取新请求,请执行以下操作:

$injector.get('$http').get('myUrl/test').success(function() {
// code goes here
});

这些代码可以包装在拦截器中

什么是延迟?把代码放在定义延迟的地方。你能展示整个拦截器吗?我已经用解决方案更新了我的答案!谢谢大家