mirror of
https://github.com/discordeno/discordeno.git
synced 2026-05-30 23:40:07 +00:00
15 lines
435 B
TypeScript
15 lines
435 B
TypeScript
// deno-lint-ignore require-await
|
|
export async function delayUntil(maxMs: number, isReady: () => boolean | undefined, timeoutTime = 100): Promise<void> {
|
|
const maxTime = Date.now() + maxMs;
|
|
|
|
function hackyFix(resolve: () => void) {
|
|
if (isReady() || Date.now() >= maxTime) {
|
|
resolve();
|
|
} else {
|
|
setTimeout(() => hackyFix(resolve), timeoutTime);
|
|
}
|
|
}
|
|
|
|
return new Promise((resolve) => hackyFix(resolve));
|
|
}
|