Demo: forkJoin
The forkJoin waits for all the observables to complete and then emits the final outcomes from each in an array.
It's a very commonly used operator for joining multiple http calls.
const input_1 = timer(500,1000).pipe(take(4));
const input_2 = interval(2000).pipe(take(2));
//emits the final values from all on completion
const combinedOutput = forkJoin(input_1 , input_2);
const output = combinedOutput.subscribe(v=>console.log(v))