TypeScript:类型'(错误:任何)=>类型的参数void'不能赋值给类型的参数

时间:2017-11-27 19:57:38

标签: angular typescript try-catch observable

以下代码:

private getJSON(): Observable<any> {
    return this.http.get('./reportNav-NEW.json')
      .map((res:any)=> res.json())
      .catch((error:any) => console.log(error));
  }

错误给了我:

  

类型的参数'(错误:任何)=&gt; void'不能赋值给参数   类型'(错误:任何,被捕获:可观察)=&gt; ObservableInput&LT; {}&GT;”。   类型'void'不能分配给'ObservableInput&lt; {}&gt;'。

它出现在.catch((error:any) => console.log(error));

1 个答案:

答案 0 :(得分:12)

这对我有用(感谢评论中的@trevor)

private getJSON(): Observable<any> {
    console.log(document.location.href);
    return this.http.get('...')
      .map((res:any)=> res.json())
      .catch((error:any) => {
        return Observable.throw(error);
      })
  }

更新:现在使用rxjs 6,您必须从“rxjs / operators”调用“throwError”运算符,并使用它而不是“Observable.throw”。