Skip to content

Commit 5a65d3c

Browse files
aitboudadchristopherthielen
authored andcommitted
fix(UISrefStatus): Fix memory leak -- take only one inner subscription at a time. (#120)
Closes #21
1 parent 09e9598 commit 5a65d3c

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

src/directives/uiSrefStatus.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import {of} from 'rxjs/observable/of';
1414
import {fromPromise} from 'rxjs/observable/fromPromise';
1515
import {combineLatest} from 'rxjs/observable/combineLatest';
1616
import {switchMap} from 'rxjs/operator/switchMap';
17-
import {mergeMap} from 'rxjs/operator/mergeMap';
1817
import {map} from 'rxjs/operator/map';
1918
import {concat} from 'rxjs/operator/concat';
2019

@@ -223,7 +222,7 @@ export class UISrefStatus {
223222

224223
// Calculate the status of each UISref based on the transition event.
225224
// Reduce the statuses (if multiple) by or-ing each flag.
226-
this._subscription = mergeMap.call(transEvents$, (evt: TransEvt) => {
225+
this._subscription = switchMap.call(transEvents$, (evt: TransEvt) => {
227226
return map.call(targetStates$, (targets: TargetState[]) => {
228227
let statuses: SrefStatus[] = targets.map(target => getSrefStatus(evt, target));
229228
return statuses.reduce(mergeSrefStatus);

0 commit comments

Comments
 (0)