This has a lot of potentially cool applications in browser game design, particularly for handling intensive but deferrable tasks like AI calculations, by splitting them into manageable chunks and letting a director determine which tasks are highest priority.
It'll probably be a while before this API spreads to other browsers, but if you can live with only developing for Chrome (or you're prepared to put in the extra work to support a standard task scheduling pattern alongside this one), this could be a really interesting feature for improving performance.
In the same way that adopting requestAnimationFrame allowed us to schedule animations properly and maximize our chances of hitting 60fps, requestIdleCallback will schedule work when there is free time at the end of a frame, or when the user is inactive. This means that there’s an opportunity to do your work without getting in the user’s way.
https://developers.google.com/web/updates/2015/08/27/using-requestidlecallback
