32 lines
622 B
TypeScript
32 lines
622 B
TypeScript
import { sleep } from "./sleep";
|
|
|
|
export class TimePin
|
|
{
|
|
protected _timeMS:number;
|
|
|
|
now()
|
|
{
|
|
this._timeMS = new Date().getTime();
|
|
}
|
|
|
|
static create()
|
|
{
|
|
let pin = new TimePin();
|
|
pin._timeMS = new Date().getTime();
|
|
return pin;
|
|
}
|
|
|
|
async forMS( durationMS:number, sleepStepsMS:number = 15 ):Promise<void>
|
|
{
|
|
let endTime = this._timeMS + durationMS;
|
|
let currentTime = new Date().getTime();
|
|
|
|
while ( currentTime < endTime )
|
|
{
|
|
await sleep( sleepStepsMS) ;
|
|
currentTime = new Date().getTime();
|
|
}
|
|
|
|
return Promise.resolve();
|
|
}
|
|
} |