【angularjs 】拦截器解析

1、拦截器的由来:$httpAngularJS的$http服务允许通过HTTP请求方式与后台进行通信。在一些情况下需要俘获所有的请求,并在其发送到服务端之前进行操作。还有一些情况是俘获响应,并且在完成调用前处理它。

 

2、$httpProvider中有一个intercetors数组,而所谓拦截器只是一个简单的注册到该数组中的常规服务工厂。

 

3、request方法拦截请求:该方法会在$http发送请求前执行,该方法接受请求配置对象(request configuration object)作为参数,然后必须返回配置对象或者promise。 如果返回无效的配置对象或者 promise 则会被拒绝,导致 $http 调用失败。

 

4、response方法拦截响应:该方法会在$http接收响应后执行,该方法接收响应对象(response object)作为参数,然后必须返回响应对象或者promise。 响应对象包括了请求配置(request configuration),头(headers),状态(status)和从后台过来的数据(data)。如果返回无效的响应对象或者 promise 会被拒绝,导致$http 调用失败。

 

5、 requestError 方法拦截请求异常: 有时候一个请求发送失败或者被拦截器拒绝了。请求异常拦截器会俘获那些被上一个请求拦截器中断的请求。它可以用来恢复请求或者有时可以用来撤销请求之前所做的配置,比如说关闭进度条,激活按钮和输入框什么之类的。

 

6、 responseError 方法拦截响应异常: 有时候我们后台调用失败了。也有可能它被一个请求拦截器拒绝了,或者被上一个响应拦截器中断了。在这种情况下,响应异常拦截器可以帮助我们恢复后台调用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值