Léxico TI › Web › Ciclo de vida del service worker

Ciclo de vida del service worker

Web Svenska → Actualizado: 2026-09-02

Las fases por las que pasa un service worker — install, activate, y luego activo (fetch) — con una mecánica deliberada de "espera" que hace que una nueva versión no tome el control hasta que se cierren todas las pestañas antiguas. Notoriamente confuso y una fuente habitual de "¿por qué no se actualiza mi PWA?".

Fases: install (preparar, p. ej. cachear recursos), activate (limpiar cachés antiguas, tomar el control) y luego se ejecuta e intercepta las peticiones de red (fetch). La parte delicada: al desplegar un nuevo service worker, este se instala pero queda en waiting — no se activa hasta que se cierran todas las pestañas controladas por el antiguo (para no cambiar el código bajo los pies de una app en marcha). Por eso los usuarios suelen ver una versión antigua hasta que cierran todas las pestañas. Herramientas para controlarlo: skipWaiting() (activar el nuevo de inmediato) y clients.claim() (tomar el control de las pestañas abiertas), a menudo combinadas con un aviso de "nueva versión disponible, ¿recargar?". Entender esto es clave para actualizaciones fiables de PWA y el cacheo offline. Relacionado con Cache Storage API y Broadcast Channel API.

← Volver al léxico