2

私は現在、Deborah KurataのPluralsightクラス(Angular 2:Getting Started)を使って、角度2を学習しています。これまでのところ素晴らしいですが、私の人生のために、私は.catchの戻り値の型が何であるべきかを見いだすことができません。彼女のコースで、今まで私が見つけたすべての例では、戻り値の型は空白のままです。Http.get()。catchの戻り値の型は何ですか?

これは私が持っているものです。

getProducts(): Observable<IProduct[]> { 
    return this._http.get("someurl") 
     .map {.....} 
     .catch(this.handleError); 
} 

handleError (response: Response) **/*what goes here?*/** { 
    // the code in the course says Observable.throw, but chrome is 
    // complaining that there is no such function. I have tracked 
    // down "static throw: typeof ErrorObservable.create;" in 
    // Observable.ts but I'm not sure what's going on here. 
} 

答えて

0

最も一般的な戻り値の型はObservableです。

正確には、セレクタ機能catch()演算子は次のように定義される:返さ観測は(ObservableInputだけでなくObservableがあります理由だ)複数の戻りタイプをサポートするsubscribeToResultを使用してサブスクライブされ

(err: any, caught: Observable): ObservableInput 

は。とにかく、それはオンラインドキュメントに含まれていないソースコードの例を見てする方が簡単です、まだあなたはそれがどのように動作するかを理解することができるはずです。ここでhttps://github.com/ReactiveX/rxjs/blob/master/src/operator/catch.ts#L8

それともsubscribeToResultがサポートしているかを見る:https://github.com/ReactiveX/rxjs/blob/master/src/util/subscribeToResult.ts#L17

+0

ありがとう@マーティン。残念ながら、ソースコードは(私のために)あまり明確にはなりません。しかし、私はラインを参照 "エクスポート機能を_catch (この:観測可能、セレクタ:(ERR:任意の、キャッチ:観察可能)=> ObservableInput ):観測可能 {...}だから、 "_catch"(ではありません"このセレクタ関数はObservableInput を返しますが、_catch自体はObservable を返しますが、セレクタ関数はObservableInputを返します。 (私はまた「Observable」を返そうとしましたが、当然ジェネリック型がないと不満を言っていました) –

+0

@ emery.noelあなたはタイプエラーを与える正確なコードを表示できますか? – martin

関連する問題