I'm running a setTimeout, recursively, so I only want to call the API one time per minute.
Here is my code:
;(async function ticker (minutes) {
try {
const res = await coingecko.global()
const { market_cap_percentage } = res.data.data
dominance = { btc: market_cap_percentage.btc, eth: market_cap_percentage.eth }
console.log({ dominance })
} catch (ex) {
console.log(ex.message)
} finally {
setTimeout(ticker, minutes * 60 * 1000)
}
})(1)
The problem is:
- When I start my server, it calls the API immediately
- It takes one minute to make a second call (expected behaviour)
- After the second call, it starts calling the API sequentially, without a timeout