发表于: 2017-03-20 01:21:31
0 1173
今天完成的事:学习了一下angularjs的拦截器
明天计划的事:继续进行审计报告表
遇到的问题:angularjs的拦截器看得我似懂非懂。先说一下我了解到的:
在$httpProvider有一个interceptors数组,所谓的拦截器就是一个简单的注册到了该数组中的常规服务工厂(factory)。
而且拦截器允许用request方法拦截请求:该方法是在请求到服务器之前执行。
response方法可以拦截响应:该方法时接收到服务器的响应后执行。
requestError方法拦截请求异常:有时请求失败或者被拦截器拒绝,请求异常拦截器会俘获上一个请求拦截器中断的请求。
responseError方法拦截响应异常:响应拦截器可以帮助恢复后端调用。
其中要运用到$q服务,它的作用是帮助处理异步执行函数。当它们处理完时,使用它们的返回值(或异常)。
还有deferred Api,是一个被$q.defer()调用的实例。它的目的是为了暴露相关承诺实例,以及APIs被执行的成功或不成功情况,以及任务的状态。
方法:
resolve(value):根据value以解决派生的promise。如果值是通过$q.reject构造的rejection 对象,该promise将被拒绝。
reject(reason):根据reason以拒绝派生的promise。这相当通过 $q.reject构造的rejection 对象来解决。
notify(value):在 promise 被执行的过程中提供状态更新情况。这可能会被多次调用,在promise是被解决还是被拒绝之前。
属性:
promise:承诺,与这个延迟相关的承诺对象。
以及Promise Api ,当一个deferred实例被创建时,一个promise实例被创建,并且可以通过调用deferred.promise检索。Promise对象的目的是当它完成后允许需要的地方获得延迟任务的结果。(个人理解,这个是用来进行延迟操作的吧?是为了方便进行异步吗?)
收获:以上。
评论