poll in javascript
const poll = async function (fn, fnCondition, ms) { let result = await fn(); while (fnCondition(result)) { await wait(ms); result = await fn(); } return result; }; const wait = function (ms = 1000) { return new Promise(resolve => { setTimeout(resolve, ms); }); }; let fetchReport = () => axios.get(reportUrl); let validate = result => !result.data.summary; let response = await poll(fetchReport, validate, 3000);