requestIdleCallback
Experimental
Esta es una tecnología experimental
Comprueba la Tabla de compabilidad de navegadores cuidadosamente antes de usarla en producción.
El método w
indow.requestIdleCallback()
encola la función que será ejecutada en periodos de inactividad del navegador permitiendo a los desarrolladores ejecutar en segundo plano tareas de baja prioridad del bucle de eventos, sin perjudicar la latencia de eventos principales como animaciones o respuestas a entradas. La funciones son ejecutadas normalmente en orden FIFO (primero en entrar primero en salir) salvo que se alcance el timeout definido de la función antes de que el navegador la ejecute.
Sintaxis
var handle = window.requestIdleCallback(callback[, options])
Valor devuelto
Un entero largo sin signo (unsigned long integer) que puede utilizarse para cancelar el callback a través del método Window.cancelIdleCallback()
(en-US).
Parámetros
callback
- La referencia a la función que debe ser ejecutada en un futuro inmediato. La función callback toma un argumento con las siguientes propiedades:
timeRemaining
: Referencia a un metodo que devuelve unDOMHighResTimeStamp
(en-US).didTimeout
: Booleano que se devuelve a false si el callback fue invocado por el navegador durante su inactividad, y true en otro caso (por ejemplo, si se definió timeout y expiró antes de que hubiera suficiente tiempo de inactividad).
options
Optional
Contiene parametros opcionales de configuración. Contiene la siguiente propiedad:
timeout
: Plazo para que el navegador ejecute la función callback. Valor en milisegundos.
Ejemplos
Ver ejemplo en el artículo Planificación Cooperativa de la API de Tareas en segundo plano.
Especificaciones
Especificación |
Estado | Comentarios |
---|---|---|
Cooperative Scheduling of Background Tasks | Proposed Recommendation | Definición Inicial. |
Compatibilidad en Navegadores
Característica | Chrome Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|
Soporte Básico | 47 | ? | ? | ? |
Característica | Android | Webview Android | Firefox para Móvil (Gecko) | Firefox OS | IE para Móvil | Opera para Móvil | Safari para Móvil | Chrome para Android |
---|---|---|---|---|---|---|---|---|
Soporte Básico | Sin soporte | 47 | ? | ? | ? | ? | ? | 47 |