1. ホーム
  2. javascript

[解決済み] プロパティ 'catch' はタイプ 'Observable<any>' に存在しません。

2022-06-04 05:25:49

質問

Angular 2のドキュメントページで、Httpサービスを使用するための例があります。

getHeroes (): Observable<Stuff[]> {
  return this.http.get(this.url)
                  .map(this.extractData)
                  .catch(this.handleError);
}

をクローンした angular2-webpack-starter プロジェクトをクローンして、自分で上記のコードを追加しました。

私はインポートした Observable を使って

import {Observable} from 'rxjs/Observable';

というプロパティを想定しています。 Observable も同様にインポートされます ( .map は動作します)。 rxjs.beta-6のchangelogを見ましたが、何も言及されていません。 catch .

どのように解決するのですか?

警告 : この解決策はAngular 5.5から非推奨です。以下のTrentの回答を参照してください。

=====================

はい、オペレータをインポートする必要があります。

import 'rxjs/add/operator/catch';

また、インポートする Observable をこのようにします。

import {Observable} from 'rxjs/Rx';

しかし、この場合、すべての演算子をインポートすることになります。

詳しくはこの質問をご覧ください。