提交 2be7ab1e 编写于 作者: M Matt Bierner

implement IDisposable instead of extending base class

上级 58459705
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation'; import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation';
import * as errors from 'vs/base/common/errors'; import * as errors from 'vs/base/common/errors';
import { Emitter, Event } from 'vs/base/common/event'; import { Emitter, Event } from 'vs/base/common/event';
import { Disposable, IDisposable, toDisposable } from 'vs/base/common/lifecycle'; import { IDisposable, toDisposable } from 'vs/base/common/lifecycle';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
export function isThenable<T>(obj: any): obj is Promise<T> { export function isThenable<T>(obj: any): obj is Promise<T> {
...@@ -497,13 +497,12 @@ export class ResourceQueue { ...@@ -497,13 +497,12 @@ export class ResourceQueue {
} }
} }
export class TimeoutTimer extends Disposable { export class TimeoutTimer implements IDisposable {
private _token: any; private _token: any;
constructor(); constructor();
constructor(runner: () => void, timeout: number); constructor(runner: () => void, timeout: number);
constructor(runner?: () => void, timeout?: number) { constructor(runner?: () => void, timeout?: number) {
super();
this._token = -1; this._token = -1;
if (typeof runner === 'function' && typeof timeout === 'number') { if (typeof runner === 'function' && typeof timeout === 'number') {
...@@ -513,7 +512,6 @@ export class TimeoutTimer extends Disposable { ...@@ -513,7 +512,6 @@ export class TimeoutTimer extends Disposable {
dispose(): void { dispose(): void {
this.cancel(); this.cancel();
super.dispose();
} }
cancel(): void { cancel(): void {
...@@ -543,18 +541,16 @@ export class TimeoutTimer extends Disposable { ...@@ -543,18 +541,16 @@ export class TimeoutTimer extends Disposable {
} }
} }
export class IntervalTimer extends Disposable { export class IntervalTimer implements IDisposable {
private _token: any; private _token: any;
constructor() { constructor() {
super();
this._token = -1; this._token = -1;
} }
dispose(): void { dispose(): void {
this.cancel(); this.cancel();
super.dispose();
} }
cancel(): void { cancel(): void {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册