RxJS. Подписка в подписке
Когда к нам в компанию приходят новые ребята, то обязательно делают подписку в подписке. Чтобы её избежать в простейшем случае надо использовать операторы mergeMap или switchMap.
import { of } from 'rxjs';
import { map, mergeMap } from 'rxjs/operators';
// грязно (subscribe hell)
of('Hello').subscribe(h => {
of(h + ' world').subscribe(hw => {
of(hw + '! (1)').subscribe(console.log)
});
});
// лаконично. mergeMap или switchMap
of('Hello').pipe(
mergeMap(h => of(h + ' world')),
mergeMap(hw => of(hw + '! (2)')),
).subscribe(console.log);