Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const { rxObserver } = require('api/v0.3');
- const { timer, NEVER } = require('rxjs');
- const { merge, map, tap, take, finalize, retryWhen } = require('rxjs/operators');
- const sourceObserver = rxObserver('Source');
- const errorsObserver = rxObserver('Errors');
- const resultObserver = rxObserver('Result');
- timer(10, 10).pipe(
- map(x => {
- const time = Date.now();
- if (time <= 30) {
- throw x;
- }
- return x;
- }),
- tap(sourceObserver),
- retryWhen(errors$ =>
- errors$.pipe(
- take(3),
- // uncomment this to prolong inner observable
- // merge(NEVER),
- // visualization
- tap(errorsObserver),
- finalize(errorsObserver.complete)
- )
- ),
- take(10)
- )
- .subscribe(resultObserver);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement