switchMap
initTime = new Date().getTime(); lowerOrders: Observable<string>[] = []; higherOrder = timer(0, 2000).pipe( take(4), mapNumberToChar(), ); firstOrder = this.higherOrder.pipe( switchMap(val => { const lowerOrder = timer(0, 1000).pipe( take(4), map(innerVal => val + innerVal), ); this.lowerOrders.push(lowerOrder); return lowerOrder; }), );