2017-05-15 53 views
0

這條打印腳本代碼在轉譯時會引發錯誤。Angular2 Rxjs Observable catch方法編譯錯誤

getXXX(): Observable<any> { 
    return this.http.get('api/xxx').catch(err => {return err}); 
    } 

的錯誤是

提供的參數不匹配,通話對象的任何簽名

我有我的劇本

import {Observable} from "rxjs/Rx"; 
import 'rxjs/add/operator/catch'; 

如何DOI修復以下進口它

+1

您有一個額外的右括號')'。另外,你可以從「rxjs/Observable」中導入'Observable'而不是整個lib:'import {Observable}; ' – developer033

+0

更正了我的問題,新的導入沒有幫助 – Sridhar

+0

在任何情況下,你所擁有的都不是有效的錯誤處理程序。不要在程序的某些部分發現錯誤,並且沒有足夠的上下文來處理它們。返回錯誤無效。取下漁獲物。 –

回答

1

這是Typescript的語法錯誤。當arrow function{},在{}必須有return,relevant link

this.http.get('api/xxx').catch(err => { return err; }); 

或根本不使用{}

this.http.get('api/xxx').catch(err => err); 
+0

建議修改後,我仍然有同樣的錯誤 – Sridhar

+0

@Sridhar你可以發佈你調用'this.http.get'的整個函數嗎? – Pengyy

+0

@Sridhar或者,你是否將任何其他參數設置爲'this.http.get'? – Pengyy