我目前正在學習角2,以Deborah Kurata的Pluralsight類(Angular 2:Getting Started)爲例。目前爲止這很棒,但對於我的生活來說,我似乎無法發現我的.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.
}
謝謝@馬丁。不幸的是,源代碼不能說明太多(對我而言)。但是我看到了「輸出函數_catch(this:Observable ,selector:(err:any,caught:Observable )=> ObservableInput ):Observable {...}所以,」_catch「(不是」 catch「)是一個函數,它需要」this「(在TS中是如何工作的)和一個選擇器函數,選擇器函數返回ObservableInput ,而_catch本身返回Observable 。趕上「返回?(我也試圖返回」Observable「,但當然它抱怨丟失的泛型類型。) –
@ emery.noel你能顯示給你類型錯誤的確切代碼嗎? – martin