Skip to content

Instantly share code, notes, and snippets.

@traviskaufman
Last active October 25, 2019 19:44
Show Gist options
  • Save traviskaufman/d2f715ea363ac007bdc7570fb8db59eb to your computer and use it in GitHub Desktop.
Save traviskaufman/d2f715ea363ac007bdc7570fb8db59eb to your computer and use it in GitHub Desktop.
Demystifying RxJS, Part II: MergeMap test
function sleep(ms: number) {
return new Promise(resolve => setTimeout(resolve, ms));
}
function createInner(x: number) {
return new Observable(obs => {
(async () => {
for (let i = 0; i < 3; i++) {
if (i > 0) await sleep(500);
obs.next(10 * x);
}
obs.complete();
})();
});
}
const outer = new Observable(obs => {
(async () => {
obs.next(1);
await sleep(800);
obs.next(3);
await sleep(3000);
obs.complete();
})();
});
outer
.pipe(mergeMap(createInner))
.subscribe(x => console.log("[mergeMap] outer:", x));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment