A promised based time bomb poller.
pollUntil(fn, args = [], timeout = 3000, pollInterval = 200)
Start polling for the provided polling function fn using this promised based pollUntil.
As soon as the poller starts, a time bomb promise is also triggered. If the polling function is satisfied before the time bomb detonates, pollUntil results true to the promise chain. Otherwise, it returns false.
The library works with Typescript, ES6 and ES5.
import pollUntil from 'pollUntil';
let counter1 = 0;
const timer = setInterval(() => {
counter ++
}, 100);
// Polling succeeded before the time bomb
pollUntil((c) => c > 10, counter, 3000, 200)
.then((result) => {
clearInterval(timer1);
// result === true
// ...
});
// Time bomb detonated
pollUntil((c) => c > 10, counter, 100, 200)
.then((result) => {
clearInterval(timer);
// result === false
// ...
});
For more examples, please have a look at project's tests.
The MIT License (MIT)