mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-02 00:40:07 +00:00
22 lines
494 B
TypeScript
22 lines
494 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(async () => {
|
|
await hackyFix(resolve);
|
|
resolve();
|
|
}, timeoutTime);
|
|
}
|
|
}
|
|
|
|
return new Promise((resolve) => hackyFix(resolve));
|
|
}
|