implement random time

This commit is contained in:
2017-10-09 11:33:59 +02:00
parent 645a1ca111
commit 62a5975fb3
4 changed files with 44 additions and 2 deletions

View File

@ -18,6 +18,21 @@ export let delayFor = async <T>(timeInMillisecond: number, passOn?: T) => {
return passOn
}
/**
* delay for a random time
*/
export let delayForRandom = async <T>(timeMinInMillisecond: number, timeMaxInMillisecond: number, passOn?: T) => {
await new Promise((resolve, reject) => {
setTimeout(
() => {
resolve()
},
Math.random() * (timeMaxInMillisecond - timeMinInMillisecond) + timeMinInMillisecond
)
})
return passOn
}
export class Timeout<T> {
promise: Promise<T>
private _deferred: smartq.Deferred<T>