title: flatMap, mergeMap, switchMap and concatMap in rxjs?
body: <p>Someone, please explain the difference between SwitchMap and FlatMap in terms of Javascript ( in angular perspective, rxjs 5)</p>
  <p>In my understanding.</p>
  <p><strong>SwitchMap</strong> only emits the latest observable value and cancels the previous observable.</p>
  <p><strong>flatMap</strong> collects all individual observables and returns all observables in a single array without caring about the order of observable. works asynchronously.</p>
  <p><strong>concatMap</strong> preserve the order and emits all observable value, works synchronously</p>
  <p>is that right?</p>
  <p>how does <em>mergeMap</em> works differently from above?</p>
  <p>someone, please explain with an example.</p>