diff --git a/src/vs/workbench/contrib/preferences/browser/preferencesEditor.ts b/src/vs/workbench/contrib/preferences/browser/preferencesEditor.ts index 87131ec930f..1f397c9244f 100644 --- a/src/vs/workbench/contrib/preferences/browser/preferencesEditor.ts +++ b/src/vs/workbench/contrib/preferences/browser/preferencesEditor.ts @@ -1025,24 +1025,21 @@ export class DefaultPreferencesEditor extends BaseTextEditor { return options; } - setInput(input: DefaultPreferencesEditorInput, options: EditorOptions | undefined, context: IEditorOpenContext, token: CancellationToken): Promise { - return super.setInput(input, options, context, token) - .then(() => this.input!.resolve() - .then(editorModel => { - if (token.isCancellationRequested) { - return undefined; - } - - return editorModel!.resolve(); - }) - .then(editorModel => { - if (token.isCancellationRequested) { - return; - } - - const editor = assertIsDefined(this.getControl()); - editor.setModel((editorModel).textEditorModel); - })); + async setInput(input: DefaultPreferencesEditorInput, options: EditorOptions | undefined, context: IEditorOpenContext, token: CancellationToken): Promise { + await super.setInput(input, options, context, token); + const editorModel = await this.input!.resolve(); + if (!editorModel) { + return; + } + if (token.isCancellationRequested) { + return; + } + await editorModel.resolve(); + if (token.isCancellationRequested) { + return; + } + const editor = assertIsDefined(this.getControl()); + editor.setModel((editorModel).textEditorModel); } clearInput(): void {