2016-12-09 8 views
5

発生した問題をユーザーに知らせるために、すべてのhttpエラーを捕捉したいと思います。角2は接続拒否エラーを受け付けません

だから、私は、捕獲でhttpを取得するメソッドを作成しました。予想通り

get(path: string): Promise<any> { 
    let headers = new Headers(); 
    return this.http.get(path, { headers: headers }) 
    .toPromise() 
    .then(response => { ... }) 
    .catch((response: Response) => { this.errorHandler(response); }); 
} 

パスパラメータが「/フォールトURL」キャッチされ

が処理されます。

しかし、パスが 'http://localhost:5000/fault-url'の場合、エラーはcatchメソッドによってキャッチされません。 私はすべての場所にロギングを追加しましたが、getメソッドが継承されているだけです。 URL 0:ステータス応答:ヌル

キャッチされないレスポンス{_body:によってProgressEvent、状態:0、[OK]エラー

OPTIONS http://localhost:5000/fault-urlネット:: ERR_CONNECTION_REFUSED

EXCEPTION次 コンソールログショー:false、statusText: ""、ヘッダー:ヘッダー...}

httpが間違っているのですか?

答えて

1

角度2.3.0にアップグレードすると、問題は解決されます。

+0

このエラーの処理方法の詳細を教えてください。 – duardbr

+0

申し訳ありません@duardbr、私はあなたの質問を理解していません。 get要求の実行中にエラーが発生した場合、catchは失敗の理由を返します。この理由は、例えば、ユーザに知らせるために使用することができる。 –

関連する問題