Files
wehub-resource-sync 98e40dac97
CLI Smoke Test / smoke-test-linux (20) (push) Has been cancelled
CLI Smoke Test / smoke-test-linux (24) (push) Has been cancelled
CLI Smoke Test / smoke-test-windows (20) (push) Has been cancelled
CLI Smoke Test / smoke-test-windows (24) (push) Has been cancelled
Expo App TypeScript typecheck / typecheck (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:40:49 +08:00

27 lines
673 B
TypeScript

import { warn } from "./log";
export async function delay(ms: number, signal?: AbortSignal): Promise<void> {
if (!signal) {
return new Promise(resolve => setTimeout(resolve, ms));
}
if (signal.aborted) {
return;
}
await new Promise<void>((resolve) => {
const timeout = setTimeout(resolve, ms);
const abortHandler = () => {
clearTimeout(timeout);
resolve();
};
if (signal.aborted) {
clearTimeout(timeout);
resolve();
} else {
signal.addEventListener('abort', abortHandler, { once: true });
}
});
}