title: Delay first 3 items by 1 second and the fourth by 4 seconds
body: <p>I'm trying to display the first 3 numbers each one delayed by 1 second and the fourth one by 4 seconds. Unfortunately, my code displays the four numbers by 1 second</p>
  
  <pre><code>import { from, of, race, timer, interval } from 'rxjs';
  import { groupBy, mergeMap, toArray, map,merge, reduce, concatMap, delay, concat, timeout, catchError, take } from 'rxjs/operators';
  
  const obs$ = from([1,2,3]).pipe(concatMap(a =&gt; of(a).pipe(delay(1000)))); 
  const obs2$ = of(4).pipe(delay(4000)); 
  const result$ = obs$.pipe(merge(obs2$));
  
  const subscribe = result$.subscribe(val =&gt; console.log(val));  
  </code></pre>
  
  <p>It displays
  1234|</p>
  
  <p>instead of
  123----4|</p>
  
  <p>this question is entirely for learning rxjs as beginner and has been tested on <a href="https://stackblitz.com" rel="nofollow noreferrer">https://stackblitz.com</a></p>