diff --git a/src/sql/parts/notebook/models/cell.ts b/src/sql/parts/notebook/models/cell.ts index 902801317e..48c9eed199 100644 --- a/src/sql/parts/notebook/models/cell.ts +++ b/src/sql/parts/notebook/models/cell.ts @@ -239,6 +239,7 @@ export class CellModel implements ICellModel { this.sendNotification(notificationService, Severity.Error, message); // TODO track error state for the cell } finally { + this.disposeFuture(); this.fireExecutionStateChanged(); } @@ -324,8 +325,7 @@ export class CellModel implements ICellModel { let output: nb.ICellOutput = msg.content as nb.ICellOutput; if (!this._future.inProgress) { - this._future.dispose(); - this._future = undefined; + this.disposeFuture(); } } @@ -487,4 +487,10 @@ export class CellModel implements ICellModel { } return endpoint; } + + // Dispose and set current future to undefined + private disposeFuture() { + this._future.dispose(); + this._future = undefined; + } }