onErrorResumeNext
Will subscribe to each observable source it is provided, in order. If the source it's subscribed to emits an error or completes, it will move to the next source without error.
import { onErrorResumeNext, of } from 'rxjs'; import { map } from 'rxjs/operators'; onErrorResumeNext( of(1, 2, 3, 0).pipe( map(x => { if (x === 0) throw Error(); return 10 / x; }) ), of(1, 2, 3), ) .subscribe( val => console.log(val), err => console.log(err), // Will never be called. () => console.log('done'), ); // Logs: // 10 // 5 // 3.3333333333333335 // 1 // 2 // 3 // "done"