2017-05-19 7 views
1

をキャッチします Argument of type '(err: any) => void' is not assignable to parameter of type '(err: any, caught: Observable<any>) => ObservableInput<{}>'. Type 'void' is not assignable to type 'ObservableInput<{}>'.はどのようにあなたが、その場合には、エラーをキャッチする方法を誤り

+0

を使用して '.catch((ERR)=> console.error(ERR))してみてください;' – Jerry06

+0

Jerry06 @タイプ「(ERR:任意の)のこの1 '引数で= > 'void'は '(err:any、catch:Observable )=> ObservableInput <{}>'のタイプのパラメータに割り当てられません。 'ObservableInput <{}>' ' – sreginogemoh

+0

の型に' void '型を代入できません。Observable.catch()の '.catch()'は初期の '.map()'の後でのみ有効です。したがって、観測可能な連鎖内の.get()。map()。catch()。あなたは間違った場所にいます。 –

答えて

1

Observable.throw

で使用できます。
function handleError(error: any) { 

    let errorMsg = error.message || `Yikes! There was was a problem `; 
    console.error(errorMsg); 

    // throw an application level error 
    return Observable.throw(errorMsg); 
} 

そして

.catch(handleError); 
+0

で動作しますが、 '.catch (任意の追加関数を宣言するのではなく、新しいMyError()を投げます) '? – sreginogemoh

+1

'.catch(errorMsg => Observable.throw(errorMsg))'を試してください ' – Jerry06

関連する問題