',angular,rxjs"/>

首页 > 解决方案 > “OperatorFunction”类型上不存在属性“catch”'

问题描述

 <p> i have tried all these
     import {Observable,EMPTY,throwError} from 'rxjs' 
     import 'rxjs/add/operator/catch';
   //import 'rxjs/add/operator/map' 
   //import 'rxjs/Rx' 
    //import {map,catchError} from 'rxjs/operators' 
     import { } from "rxjs/operators";
      import { map, filter, catchError, mergeMap } from 'rxjs/operators'</p>



public isLoggedIn():Observable<boolean>{
  return this.http.get("https://jsonplaceholder.typicode.com/todos/1")
    .pipe(map((res:Response)=> res)
    .catch((error:any)=>Observable.throw(error||'Server Error')))  
}

标签: angularrxjs

解决方案


在 RxJS v6 中,您列出了在您的内部用逗号分隔的运算符pipe()

现在也catchcatchError

试试这个:

public isLoggedIn():Observable<boolean>{
  return this.http.get("https://jsonplaceholder.typicode.com/todos/1").pipe(
    map((res:Response)=> res),
    catchError((error:any)=>Observable.throw(error||'Server Error')))
  )
}

推荐阅读