UNPKG

@onehat/ui

Version:
16 lines (15 loc) 374 B
import sleep from './sleep.js'; export default async function waitFor(fn, pollingFrequencyMs = 1000, timeoutMs = null) { let timeElapsed = 0; const isTimedOut = () => { if (!timeoutMs) { return false; } timeElapsed += pollingFrequencyMs; return timeElapsed > timeoutMs; }; while(!fn() && !isTimedOut()) { await sleep(pollingFrequencyMs); } return fn(); }