迎撃機
あなたはインターセプタの作成を開始する前に、我々は理解しなければならない $ 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ので、ここではピットは、未定義のインターセプタを示唆し、プッシュであり、
インターセプタサービス定義は、設定に依存したモジュールで使用することができます。