角度のhttpインターセプタインターセプタの共有を使用して

迎撃機

あなたはインターセプタの作成を開始する前に、我々は理解しなければならない $ qと繰延約束APIを

グローバルなエラー処理のための認証応答や要求、任意の後処理や事前の目的は、同期または非同期、希望はリクエストの上に手にできるようにするには、サーバーは、サーバーが開始され、これらの要求に応答します前に、要求と要求がインターセプトに引き渡されます傍受する前にアプリケーションコード-利用迎撃約束APIは、前処理、同期および非同期を必要とします。

インターセプタはある$httpProviderに追加することによって、$httpProvider.interceptorsアレイとその登録サービス施設インターセプターへの工場と注入依存関係(指定されている場合)、およびリターンを呼び出します。

2つのインターセプタ(インターセプターとゴミの2種類)があります。

  • request:HTTPの設定インターセプタによってオブジェクトを呼び出します。この機能は、自由に変更することができるconfigオブジェクトをしたり、新しいオブジェクトを作成します。機能は必要configに直接返すオブジェクト、またはあってconfigか、新しいconfigプロミスオブジェクトを。
  • requestError:前回インターセプタが決済するエラーやゴミを投げるときは、インターセプタが呼び出されます。
  • response:HTTPのインターセプターによって  responseオブジェクトを呼び出します。この機能は、自由に変更することができるresponseオブジェクトをしたり、新しいオブジェクトを作成します。関数が必要とresponseすぐに戻り、または含むなどのオブジェクトresponseまたは新しいresponseオブジェクトの約束を
  • responseError:前回インターセプタが決済するエラーやゴミを投げるときは、インターセプタが呼び出されます。
1  // サービスとしてインターセプタレジスタ
2の$ provide.factory( 'myHttpInterceptor'、関数($ Q、dependency1、dependency2){
 3    リターン{
 4      // 任意の方法
5      : '要求' 関数(設定){
 6        // 成功した場合に何かを
7        戻り、設定
 8      }、
 9  
10      // 任意の方法
11     「requestError」関数(拒否){
 12        //がエラーに何かを
13        場合(canRecover(拒絶)){
 14          リターンresponseOrNewPromise
 15        }
 16        リターン$のq.reject(拒絶);
17      }
 18  
19  
20  
21      // 任意の方法
22      '応答':関数(応答){
 23        //が成功した場合に何かを
24        リターン応答。
25      }
 26  
27      // 任意の方法
28     'responseError':関数(拒否){
 29        //はエラーに何かを
30       もし(canRecover(拒絶)){
 31          リターンresponseOrNewPromise
 32        }
 33        リターン$のq.reject(拒絶);
34      }
 35    }。
36  });
37  
38 $ httpProvider.interceptors.push( 'myHttpInterceptor' );
39  
40  
41  // 代わりに、匿名の工場を介しインターセプタレジスタ
42 $ httpProvider.interceptors.push(関数($ Q、dependency1、dependency2){
 43    リターン{
 44     '要求':関数(設定){
 45        // 上記と同じ
46      }
 47  
48      '応答':関数(応答){
 49         // 上記と同じ
50      }
 51    }。
52 });

コンフィグインターセプタで、迎撃サービスが見つからない$ httpProviderので、ここではピットは、未定義のインターセプタを示唆し、プッシュであり、

インターセプタサービス定義は、設定に依存したモジュールで使用することができます。

おすすめ

転載: www.cnblogs.com/erming/p/11827359.html