[解決済み] http.request()で発生した例外を正しくキャッチするには?
2022-05-08 07:57:34
質問
私のコードの一部です。
import {Injectable} from 'angular2/core';
import {Http, Headers, Request, Response} from 'angular2/http';
import {Observable} from 'rxjs/Observable';
import 'rxjs/add/operator/map';
@Injectable()
export class myClass {
constructor(protected http: Http) {}
public myMethod() {
let request = new Request({
method: "GET",
url: "http://my_url"
});
return this.http.request(request)
.map(res => res.json())
.catch(this.handleError); // Trouble line.
// Without this line code works perfectly.
}
public handleError(error: Response) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');
}
}
myMethod()
を実行すると、ブラウザのコンソールに例外が表示されます。
ORIGINAL EXCEPTION: TypeError: this.http.request(...).map(...).catch is not a function.
解決方法は?
インポートにこれを追加してみてはいかがでしょうか。
import 'rxjs/add/operator/catch';
することもできます。
return this.http.request(request)
.map(res => res.json())
.subscribe(
data => console.log(data),
err => console.log(err),
() => console.log('yay')
);
コメントにつきまして
<ブロッククオートEXCEPTION: TypeError: Observable_1.Observable.throw は関数ではありません。
同様に、そのために、使用することができます。
import 'rxjs/add/observable/throw';
関連
-
[解決済み] 負の配列サイズ例外
-
[解決済み] java.net.URLConnectionを使用してHTTPリクエストを発生させ処理する方法
-
[解決済み] HTTP POSTリクエストでは、どのようにパラメータが送信されるのですか?
-
[解決済み] TypeScriptで文字列を数値に変換する方法とは?
-
[解決済み] Angular/RxJS `Subscription` からいつ退会すればいいのか?
-
[解決済み] ファイルのダウンロードにContent-Type: application/octet-streamは必要ですか?
-
[解決済み] ベーシック認証における「レルム」とは
-
[解決済み】全てのブラウザで、Webページのキャッシュを制御するには?
-
[解決済み】GETリクエストで同じパラメータ名で複数の値を渡す場合の正しい方法
-
[解決済み] Angular2 http.get()、map()、subscribe()とobservableパターン - 基本的な理解
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ERR_INVALID_CHUNKED_ENCODING エラーの修正方法を教えてください。
-
multipart/form-data と application/octet-stream, application/x-www-form-urlencoded の違いについて
-
[解決済み] プロキシが全く応答を受け取らない場合、502 HTTPステータスコードを使用すべきですか?
-
[解決済み] HTTPヘッダーの大文字と小文字は区別されますか?
-
[解決済み] Firefoxで突然「Blocked loading mixed active content」問題が発生したのはなぜですか?
-
[解決済み】HTTPヘッダ(キャッシュコントロール用)を設定する方法は?)
-
[解決済み】http:// のリンクを全て // に変更することは可能ですか?
-
[解決済み】ユーザーエージェント文字列の大きさはどれくらいになりますか?
-
[解決済み】HTTP 301と308のステータスコードの違いは何ですか?
-
[解決済み] Angular2 http.get()、map()、subscribe()とobservableパターン - 基本的な理解