Hacker News new | ask | show | jobs
by toqy 1310 days ago
requestIdleCallback isn’t something that you need to protect yourself from. It just executes a function when there’s nothing else happening on your page essentially.
3 comments

You mean my browser still doesn't use enough CPU? I don't want sites that aren't in focus to do anything.
The point is to play nice. "I have this task the page needs to do, but I can wait a bit until more convenient". Not "browser is idle, let's mine some bitcoin" as you suggest.
Actually I wasn't thinking of bitcoin, but for example of needless auto refreshes and animations.

Seriously, web devs need to learn to respect my battery and electricity bill more.

This is just a generic “old man shouting at clouds” complaint at this point. You’re not engaging with the material at all.
This does not do what you think it does. You're tilting at windmills.

It's not about doing stuff in a tab that isn't in focus. "Idle" refers to the main thread idling in the page you're currently using, so it's about controlling the execution order and priority of JS tasks. E.g. on Google Maps you give priority to rendering the visible map tiles while deferring preloading the surrounding non-visible tiles until the main thread is unblocked (and thus idling).

The requestIdleCallback API isn’t specific to inactive tabs, and trying to use it to do background work in general is not a Good Idea: the first idle callback is typically going to fire (almost) immediately after painting’s complete, or some handful of milliseconds after.
Every web dev seems to think that their site specifically is the reason everybody in the world bought a computer.
When there is nothing happening on my page my cpu can go idle.
A bit of remote browser crypto mining?