Observableの内部でキャプチャを使用すると、エラーでの戻りの問題をどのように解決できますか?角4 - 観測可能なキャッチエラー
サブスクリプションが実行される前に、いくつかの検証を行うためにcatch内で関数を実行したいと考えています。
ありがとうございました。ありがとうございました。/XXXXXX /アプリケーション/ SRC /アプリで> .catch((E)=> {にconsole.log(E)})
import { Injectable } from '@angular/core';
import { Headers, Http, ResponseOptions} from '@angular/http';
import { AuthHttp } from 'angular2-jwt';
import { MEAT_API } from '../app.api';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
@Injectable()
export class CompareNfeService {
constructor(private http: AuthHttp) { }
envirArquivos(order): Observable<any> {
const headers = new Headers();
return this.http.post(`${MEAT_API}compare/arquivo`, order,
new ResponseOptions({headers: headers}))
.map(response => response.json())
.catch((e) => {console.log(e)});
}
}
エラー
ERROR -
エラーで発生します/compare/service.ts(28,17): タイプ '(e:any)=> void'の引数は タイプ '(err:any、catch:Observable)=> ObservableInput < {}のパラメータに割り当てられません。 > '。
タイプ 'ObservableInput < {}>'に「void」タイプを割り当てることはできません。
私のために働きました。あなたの目標が真にエラーを処理/捕捉することであるならば、あなたは転覆すべきではありません。 – bryan60
@ブライアン60精巧にお願いします! – Aravind
Observable.throw()はエラーをスローし、観測可能なシーケンスの残りの部分がスキップされ、サブスクライバのエラーハンドラにまっすぐ進みます。これは意図的な振る舞いではない場合には、オプションで再スローしてオブザーバブルを返すことはできません。それは実際にあなたのユースケースに依存します。 – bryan60