Anglar http interceptorsのインターフェイスを共有して使用する(推奨)


AnglarJS概要
AnglarJSはJavaScriptのフレームです。「script」タブでHTMLページに追加できます。
AnglarJSは命令によりHTMLを拡張し、式バインディングデータをHTMLに転送します。
迎撃器
ブロックを作成する前に、必ず$qと延期承諾apiを理解してください。
グローバルエラー処理のために、アイデンティティ認証または要求の任意の同期または非同期前処理または応答の後処理の目的は、要求をサーバに渡す前に要求をブロックすることができ、要求をサーバに渡す前に、要求に応答してこれらの要求を開始するアプリケーションコードをブロックすることができるようにする。
インターフェイスは$httpProviderを$httpProvider.interceptors配列に追加することによって登録されたサービス工場です。工場を呼び出して依存項を注入し(指定すれば)、ブロックに戻ります。
2つのブロック(および2つの拒否ブロック)があります。
  • request:スクリーンはhttp configオブジェクトを介して呼び出されます。この関数は、configオブジェクトを自由に変更したり、新しいオブジェクトを作成したりできます。関数はconfigを直接オブジェクトに戻す必要があります。またはconfigまたは新しいconfigオブジェクトを含むPromiseです。
  • request Error:前のブロッキングが間違っていたり、解決が拒否されたりした場合、ブロッキングが呼び出されます。
  • レスポンス:スクリーンはhttp reponseオブジェクトを介して呼び出されます。この関数は、レスポンスオブジェクトを自由に変更したり、新しいオブジェクトを作成したりできます。関数は、レスポンスが直接オブジェクトに戻るか、またはレスポンスが含まれるオブジェクトとしてのコミットメントが必要です。
  • reponseError:前のブロッキングが間違っていたり、解決が拒否されたりした場合、ブロッキングが呼び出されます。
  • 
    // register the interceptor as a service
    $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
     return {
      // optional method
      'request': function(config) {
       // do something on success
       return config;
      },
      // optional method
      'requestError': function(rejection) {
       // do something on error
       if (canRecover(rejection)) {
        return responseOrNewPromise
       }
       return $q.reject(rejection);
      },
      // optional method
      'response': function(response) {
       // do something on success
       return response;
      },
      // optional method
      'responseError': function(rejection) {
       // do something on error
       if (canRecover(rejection)) {
        return responseOrNewPromise
       }
       return $q.reject(rejection);
      }
     };
    });
    $httpProvider.interceptors.push('myHttpInterceptor');
    // alternatively, register the interceptor via an anonymous factory
    $httpProvider.interceptors.push(function($q, dependency1, dependency2) {
     return {
      'request': function(config) {
        // same as above
      },
      'response': function(response) {
        // same as above
      }
     };
    });
    ここにピットがあります。プッシュ時に、スクリーンショットが定義されていません。
    スクリーンセーバサービスは、config依存モジュールで使用されると定義されてもよい。
    以上の内容は小编でアングラーのhttp interceptorsをシェアして使っています。皆さんのために役に立つと思います。