diff options
Diffstat (limited to 'tools/node_modules/eslint/node_modules/rxjs/internal/operators/switchMap.js')
-rw-r--r-- | tools/node_modules/eslint/node_modules/rxjs/internal/operators/switchMap.js | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/tools/node_modules/eslint/node_modules/rxjs/internal/operators/switchMap.js b/tools/node_modules/eslint/node_modules/rxjs/internal/operators/switchMap.js index 78d44ee0af..2a7f28f706 100644 --- a/tools/node_modules/eslint/node_modules/rxjs/internal/operators/switchMap.js +++ b/tools/node_modules/eslint/node_modules/rxjs/internal/operators/switchMap.js @@ -60,7 +60,8 @@ var SwitchMapSubscriber = (function (_super) { innerSubscription.unsubscribe(); } var innerSubscriber = new InnerSubscriber_1.InnerSubscriber(this, undefined, undefined); - this.add(innerSubscriber); + var destination = this.destination; + destination.add(innerSubscriber); this.innerSubscription = subscribeToResult_1.subscribeToResult(this, result, value, index, innerSubscriber); }; SwitchMapSubscriber.prototype._complete = function () { @@ -68,12 +69,14 @@ var SwitchMapSubscriber = (function (_super) { if (!innerSubscription || innerSubscription.closed) { _super.prototype._complete.call(this); } + this.unsubscribe(); }; SwitchMapSubscriber.prototype._unsubscribe = function () { this.innerSubscription = null; }; SwitchMapSubscriber.prototype.notifyComplete = function (innerSub) { - this.remove(innerSub); + var destination = this.destination; + destination.remove(innerSub); this.innerSubscription = null; if (this.isStopped) { _super.prototype._complete.call(this); |