Delayer: support Task that return a promise

This commit is contained in:
Martin Aeschlimann 2018-02-21 21:45:16 +01:00
parent 5258c6e0d4
commit 1e6d18050e
2 changed files with 3 additions and 3 deletions

View file

@ -180,7 +180,7 @@ export class Delayer<T> {
private timeout: number;
private completionPromise: Promise;
private onSuccess: ValueCallback;
private task: ITask<T>;
private task: ITask<T | TPromise<T>>;
constructor(public defaultDelay: number) {
this.timeout = null;
@ -189,7 +189,7 @@ export class Delayer<T> {
this.task = null;
}
trigger(task: ITask<T>, delay: number = this.defaultDelay): TPromise<T> {
trigger(task: ITask<T | TPromise<T>>, delay: number = this.defaultDelay): TPromise<T> {
this.task = task;
this.cancelTimeout();

View file

@ -207,7 +207,7 @@ export class Workbench implements IPartService {
private sideBarPosition: Position;
private panelPosition: Position;
private panelHidden: boolean;
private editorBackgroundDelayer: Delayer<void>;
private editorBackgroundDelayer: Delayer<any>;
private closeEmptyWindowScheduler: RunOnceScheduler;
private editorsVisibleContext: IContextKey<boolean>;
private inZenMode: IContextKey<boolean>;