У меня есть несколько подписок на различные наблюдаемые объекты, на которые я, наконец, не могу попасть из-за массива подписок, которые были отправлены всем из них.
dataSuplObs$: Observable<any>;
simulationObs$: Observable<any>;
requestSimObs$: Observable<any>;
metaObs$: Observable<any[]>;
subs: Subscriptions[] = [];
method1() {
this.dataSuplObs$ = this.dataSuppSrv.createSupplementPaymentMethod();
this.metaObs$ = this.metaSrv.getOriginSupplement();
const subDataSupl$: Subscription = this.dataSuplObs$.subscribe(data => {
/** */
this.subs.push(subDataSupl$);
});
const subMeta: Subscription = this.metaObs$.subscribe();
this.subs.push(subMeta);
}
method2() {
this.simulationObs$ = this.simulateSuppSrv.simulatePaymentMethod();
const subSimulation = this.simulationObs$.subscribe(res => {
this.subs.push(subSimulation);
}
method3() {
this.requestSimObs$ = this.simulateSuppSrv.requestPaymentMethod();
const subRequestSim = this.simulationObs$.subscribe(res => {
this.subs.push(subRequestSim);
}
ngOnDestroy() {
this.subs.forEach(sb => sb.unsubscribe());
}
Нет ли способа сэкономить на строках кода, которые инстанцируют наблюдаемое свойство и константу, на которую подписана подписка?