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

Ciclo de vida do service worker

Web Svenska → Atualizado: 2026-09-30

As fases pelas quais um service worker passa — install, activate e depois ativo (fetch) — com um mecanismo deliberado de "waiting", segundo o qual uma versão nova só assume quando todas as abas antigas são fechadas. Notoriamente traiçoeiro e fonte comum do "por que meu PWA não atualiza?".

Fases: install (preparar, por exemplo guardar recursos em cache), activate (limpar caches antigos, assumir o controle) e então ele roda e intercepta requisições de rede (fetch). O difícil: ao publicar um service worker novo, ele é instalado, mas fica em waiting — só é ativado quando todas as abas controladas pelo antigo forem fechadas (para não trocar o código debaixo de um app em execução). Por isso o usuário muitas vezes continua vendo a versão antiga até fechar todas as abas. Ferramentas para controlar isso: skipWaiting() (ativa o novo de imediato) e clients.claim() (assume as abas abertas), geralmente combinadas com um aviso "nova versão disponível, recarregar?". Entender isso é essencial para atualizações confiáveis de PWA e para o cache offline. Relacionado a Cache Storage API e Broadcast Channel.

← Voltar ao léxico