angularjs ajax拦截器,在angularjs拦截器中停止请求

如何在

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');

}]);

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值