pic-js-mops
Version:
An Internet Computer Protocol canister testing library for TypeScript and JavaScript.
20 lines • 616 B
JavaScript
export async function poll(cb, { intervalMs, timeoutMs }) {
const startTimeMs = Date.now();
return new Promise((resolve, reject) => {
async function runPoll() {
const currentTimeMs = Date.now();
try {
const result = await cb();
return resolve(result);
}
catch (e) {
if (currentTimeMs - startTimeMs >= timeoutMs) {
return reject(e);
}
setTimeout(runPoll, intervalMs);
}
}
runPoll();
});
}
//# sourceMappingURL=poll.js.map