Liveupdate of balances with setInterval

In my UI I print out the tokenbalances on a table with the “populate” function

Now this works just fine but the user would have to refresh the page manually all the timne to get teh correct tokenbalance.

So when I run this function with set interval like this

setInterval(function(){
        populate();
     }, 1000)

I call the function every second and besides it slowing down my app, do I run into rateLimits with the API calls?
and whats a better fix for doing this, I know I could use react, but I dont know react so, is there a better workaround in vanillaJS to achieve the same goal?