merge map vs forkJoin vs CombineLatest
forkJoin: Use Case: Parallel Requests Use forkJoin when you need to make multiple HTTP requests or observables in parallel and wait for all of them to complete before taking action. It is suitable for scenarios where you want to combine the results of multiple observables into a single emission. forkJoin(observable1, observable2, ...).subscribe(([result1, result2, ...]) => { // Combine results and take action }); mergeMap (or flatMap): Use Case: Sequential Requests Use mergeMap when you want to map each value emitted by the source observable to an inner observable and process them concurrently. It is useful when you are working with asynchronous tasks and want to maintain concurrency, allowing the inner observables to overlap. sourceObservable.pipe(mergeMap(value => /* return inner observable */)).subscribe(result => { // Process the result of the inner observable }); ...

