skip to content
developertype

snippets

filter:96 snippets
js-gen-sleep·javascript·general
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));

async function poll(fn, { interval = 500, timeout = 5000 } = {}) {
  const start = Date.now();
  while (Date.now() - start < timeout) {
    const value = await fn();
    if (value) return value;
    await sleep(interval);
  }
  throw new Error("poll timed out");
}