Свойство 'catch' не существует для типа 'OperatorFunction' - PullRequest
0 голосов
/ 06 октября 2018
 <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')))  
}

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Используйте CatcError вместо catch, и вы должны вернуть наблюдаемое из функции catchError!

Модифицированный код:

public isLoggedIn():Observable<boolean>{
  return this.http.get("https://jsonplaceholder.typicode.com/todos/1").pipe(
    map((res:Response)=> res),
    catchError((error)=>{return Observable.throw(error||'Server Error')})
  )
}
0 голосов
/ 06 октября 2018

В RxJS v6 вы перечисляете запятую операторов, разделенную внутри вашего pipe()

Также catch теперь называется catchError

Попробуйте вместо этого:

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')))
  )
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...