美文网首页angular
angular拦截器和Restanglular

angular拦截器和Restanglular

作者: iqing2012 | 来源:发表于2017-09-24 00:49 被阅读37次

    拦截器

    • 用来向应用的业务流程中注入新的逻辑。

    • 拦截器的核心是服务工厂,通过向httpProvider.interceptors数组中添加服务工厂,在httpProvider中进行注册。

    • 共有四种拦截器:两种成功拦截器,两种失败器。

      • request
        AngularJS通过$http设置对象来对请求拦截器进行调用。它可以对设置对象进行修改,或者创建
        一个新的设置对象,它需要返回一个更新过的设置对象,或者一个可以返回新的设置对象的promise。
      • response
        AngularJS通过$http设置对象来对响应拦截器进行调用。它可以对响应进行修改,或者创建
        一个新的响应,它需要返回一个更新过的响应,或者一个可以返回新响应的promise。
      • requestError
        AngularJS会在上一个请求拦截器抛出错误,或者promise被reject时调用此拦截器。
      • responseError
        AngularJS会在上一个响应拦截器抛出错误,或者promise被reject时调用此拦截器。
    • 调用模块的.factory()方法来创建拦截器,可以在服务中添加一种或多种拦截器:

    $resource

    Restangular

    1. promise
      Restangular支持promise模式的异步调用,使用起来更符合AngularJS的习惯。可以像使用原始的$http方法一样对响应进行链式操作。
    2. promise展开
      也可以像使用$resource服务一样使用Restangular,通过很简单的方式同时操作promise和对象
    3. 清晰明了
      Restangular库几乎没有复杂或神奇的东西,无需通过猜测或研究文档就可以知道它是如何工作的。
    4. 全HTTP方法支持
      Restangular支持所有的HTTP方法。
    5. 忘记URL
      $resource要求明确的指定想要拉取数据的URL, Restangular并不需要事先知道URL或提前指定它们(除基础URL外)。
    6. 资源嵌套
      Restangular可以直接处理嵌套的资源,无需创建新的Restangular实例。
    7. 一个实例
      同$resource不同,使用过程中仅需要创建一个Restangular资源对象的实例。

    相关文章

      网友评论

        本文标题:angular拦截器和Restanglular

        本文链接:https://www.haomeiwen.com/subject/kjwhextx.html