A replacement for setInterval() and setTimeout() which works in unfocuse...
Modern version of setInterval for promises and async functions.