Angular 6 RXJS Import Syntax? Angular 6 RXJS Import Syntax? angular angular

Angular 6 RXJS Import Syntax?


From rxjs 5.5, catch has been renamed to catchError function to avoid name clash.

Due to having operators available independent of an Observable, operator names cannot conflict with JavaScript keyword restrictions. Therefore the names of the pipeable version of some operators have changed.

import { catchError } from 'rxjs/operators';

For throw you can use ErrorObservable.

import { ErrorObservable } from 'rxjs/observable/ErrorObservable';ErrorObservable.create(new Error("oops"));

rxjs 6

Instead of ErrorObservable use throwError.

 import { throwError } from 'rxjs' throwError(new Error("oops"));

Also you will now have to pipe the operators instead of directly chaining them to the observable


Pipes are what is required for operator(s) going forward.

version: rxjs 6.0.1

Example:

import { Observable } from "rxjs";import { map } from "rxjs/operators";Observable.create((observer: any) => {    observer.next('Hello')}).pipe(map((val: any) => val.toUpperCase()))  .subscribe((x: any) => addItem(x))function addItem(val: any) {    console.log('val', val);}//output - (In uppercase)HELLO


Or if you want to keep using version 6.0.0 you do

npm i --save rxjs-compat

to add reverse compatibility