Active a los trabajadores de servicio más rápido -

Los trabajadores de servicio son excelentes para muchos propósitos: velocidad, fuera de línea, control de caché y más. Puede ver muchas muestras de uso de los trabajadores del servicio de código en el Libro de recetas del trabajador del servicio, si está interesado. Una de esas recetas, Reclamo Inmediato, es tan importante y útil ya que proporciona una manera de reclamar a su trabajador de servicio más rápidamente, lo que significa que puede recibir eventos de recuperación más rápido.

Puede comparar la siguiente aceleración de código con DOMContentLoaded(comúnmente conocido como domready) versus el loadevento anterior: ponga en marcha el procesamiento más rápidamente. installEl truco involucra los eventos y del trabajador del servicio activate:

// Instalar evento - archivos de caché (... o no) // Asegúrate de llamar a skipWaiting()!self.addEventListener('install', function(event) { event.waitUntil(caches.open('my-cache) ' ).then(function(cache) { // Es importante `devolver` la promesa aquí de tener `skipWaiting()` // activado después de que se haya actualizado el caché. return cache.addAll([/* file1.jpg , file2.png, ... */]); }).then(function() { // `skipWaiting()` fuerza al ServiceWorker en espera a convertirse en el // ServiceWorker activo, desencadenando el evento `onactivate`. // Junto con ` Clients.claim()` esto permite que un trabajador surta efecto // inmediatamente en el/los cliente(s). return self.skipWaiting(); }) );});// Activar evento// Asegúrese de llamar a self.clients .claim()self.addEventListener('activate', function(event) {// `claim()` establece este trabajador como el trabajador activo para todos los clientes que// coinciden con el alcance de los trabajadores y activa un evento `oncontrollerchange` para/ / los clientes.return self.clients.claim();});

En última instancia, devolver el mensaje skipWaiting()del installevento activa el activateevento, activando al trabajador de servicio inmediatamente y permitiendo que su trabajador de servicio trabaje con fetcheventos y otras capacidades del trabajador de servicio. Los trabajadores del servicio requieren un evento de navegación (recargar la página, ir a una nueva página, etc.) para activarse, razón por la cual este truco es tan útil.

¡Esperamos más consejos y ejemplos para trabajadores de servicios en el blog durante los próximos meses!

Te podría interesar...

Deja una respuesta

Subir