Fix RunAllCells throwing unhandled exception (#6089)

- Added await here.
- There's a 2nd entry point already doing it the right way, in the Notebook extension.
  No need to change that
This commit is contained in:
Kevin Cunnane
2019-06-18 16:19:32 -07:00
committed by GitHub
parent 373c3488bb
commit 36fe725cf0
2 changed files with 11 additions and 11 deletions

View File

@@ -407,7 +407,7 @@ export class NotebookComponent extends AngularDisposable implements OnInit, OnDe
let addTextCellButton = new AddCellAction('notebook.AddTextCell', localize('text', "Text"), 'notebook-button icon-add');
addTextCellButton.cellType = CellTypes.Markdown;
this._runAllCellsAction = new RunAllCellsAction('notebook.runAllCells', localize('runAll', "Run Cells"), 'notebook-button icon-run-cells');
this._runAllCellsAction = this.instantiationService.createInstance(RunAllCellsAction, 'notebook.runAllCells', localize('runAll', "Run Cells"), 'notebook-button icon-run-cells');
let clearResultsButton = new ClearAllOutputsAction('notebook.ClearAllOutputs', localize('clearResults', "Clear Results"), 'notebook-button icon-clear-results');
this._trustedAction = this.instantiationService.createInstance(TrustedAction, 'notebook.Trusted');

View File

@@ -252,19 +252,19 @@ export class TrustedAction extends ToggleableAction {
// Action to run all code cells in a notebook.
export class RunAllCellsAction extends Action {
constructor(
id: string, label: string, cssClass: string
id: string, label: string, cssClass: string,
@INotificationService private notificationService: INotificationService
) {
super(id, label, cssClass);
}
public run(context: NotebookComponent): Promise<boolean> {
return new Promise<boolean>((resolve, reject) => {
try {
context.runAllCells();
resolve(true);
} catch (e) {
reject(e);
}
});
public async run(context: NotebookComponent): Promise<boolean> {
try {
await context.runAllCells();
return true;
} catch (e) {
this.notificationService.error(getErrorMessage(e));
return false;
}
}
}