在angularjs拦截器中停止请求
发布时间:2020-12-17 07:40:32 所属栏目:安全 来源:网络整理
导读:如何在 Angularjs拦截器中停止请求. 有什么办法吗? 我尝试使用承诺并发送拒绝而不是解决! .factory('connectionInterceptor',['$q','$timeout',function($q,$timeout) { var connectionInterceptor = { request: function(config) { var q = $q.defer(); $
如何在
Angularjs拦截器中停止请求.
有什么办法吗? 我尝试使用承诺并发送拒绝而不是解决! .factory('connectionInterceptor',['$q','$timeout',function($q,$timeout) { var connectionInterceptor = { request: function(config) { var q = $q.defer(); $timeout(function() { q.reject(); },2000) return q.promise; // return config; } } return connectionInterceptor; } ]) .config(function($httpProvider) { $httpProvider.interceptors.push('connectionInterceptor'); });
$http服务有一个选项
超时做这个工作. 你可以这样做: angular.module('myApp') .factory('httpInterceptor','$location',function ($q,$location) { var canceller = $q.defer(); return { 'request': function(config) { // promise that should abort the request when resolved. config.timeout = canceller.promise; return config; },'response': function(response) { return response; },'responseError': function(rejection) { if (rejection.status === 401) { canceller.resolve('Unauthorized'); $location.url('/user/signin'); } if (rejection.status === 403) { canceller.resolve('Forbidden'); $location.url('/'); } return $q.reject(rejection); } }; } ]) //Http Intercpetor to check auth failures for xhr requests .config(['$httpProvider',function($httpProvider) { $httpProvider.interceptors.push('httpInterceptor'); }]); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |