fix(core): update
This commit is contained in:
parent
2d64c43b55
commit
80de670cad
10
ts/index.ts
10
ts/index.ts
@ -36,7 +36,11 @@ export class Timeout<T> {
|
||||
private _timeout: any;
|
||||
private _cancelled: boolean = false;
|
||||
|
||||
private timeoutInMillis: number;
|
||||
private started: number;
|
||||
|
||||
constructor(timeInMillisecondArg, passOn?: T) {
|
||||
this.timeoutInMillis = timeInMillisecondArg;
|
||||
this._deferred = smartpromise.defer<T>();
|
||||
this.promise = this._deferred.promise;
|
||||
this._timeout = setTimeout(() => {
|
||||
@ -44,6 +48,7 @@ export class Timeout<T> {
|
||||
this._deferred.resolve(passOn);
|
||||
}
|
||||
}, timeInMillisecondArg);
|
||||
this.started = Date.now();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -60,4 +65,9 @@ export class Timeout<T> {
|
||||
this._cancelled = true;
|
||||
this.makeUnrefed();
|
||||
}
|
||||
|
||||
public getTimeLeft() {
|
||||
const result = this.started + this.timeoutInMillis - Date.now();
|
||||
return result > 0 ? result : 0;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user