requestIdleCallback programa tareas no urgentes para cuando el navegador está inactivo. Mejora la capacidad de respuesta de la página.
Cómo funciona
El navegador ejecuta callbacks en los tiempos muertos entre frames. requestIdleCallback(callback, { timeout: 2000 }). IdleDeadline.timeRemaining() indica el tiempo disponible.
Casos de uso
Análisis (analytics), logging, precarga de datos no críticos, cleanups, procesamiento diferido, renderizado de contenido secundario.
Alternativas
setTimeout con 0: menos eficiente. Scheduler.postTask (experimental) con prioridades. requestAnimationFrame para animaciones. Elige según la urgencia.
Buenas prácticas
Fragmenta tareas largas (< 50ms). Proporciona timeout para garantizar ejecución. No uses para tareas urgentes o visibles al usuario.

