Files
discordeno/tests/utils.ts
ITOH 81f8e0377c style: move to deno fmt (#1992)
* Create deno.json

* run format

* run format

* ci: only check formatting

* f

* Update settings.json

* Update settings.json
2022-02-04 15:00:04 +01:00

18 lines
449 B
TypeScript

export function delayUntil(
maxMs: number,
isReady: () => boolean | undefined | Promise<boolean | undefined>,
timeoutTime = 100,
): Promise<void> {
const maxTime = Date.now() + maxMs;
async function hackyFix(resolve: () => void) {
if ((await isReady()) || Date.now() >= maxTime) {
resolve();
} else {
setTimeout(() => hackyFix(resolve), timeoutTime);
}
}
return new Promise((resolve) => hackyFix(resolve));
}