Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

268
Vistas
¿Cómo ocultar el seguimiento de la pila de la recuperación del trabajador del servicio?

Tengo un trabajador de servicio como este:

 self.addEventListener('fetch', function (event) { event.respondWith(new Promise(function(resolve, reject) { // ... fetch(event.request).then(resolve).catch(reject); })); });

No recuerdo dónde encontré este código, pero cuando uso el bloqueador de anuncios junto con 404, en la consola veo el seguimiento de la pila:

Trabajador de servicio Stack Trace en la consola de desarrollo

¿Hay alguna manera de deshacerse de ese rastro de pila? Solo necesito saber que la recuperación falló (ver el segundo mensaje de error).

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

El seguimiento de la pila proviene de la propiedad de la pila del objeto Error (o clase derivada) que se pasa al método de reject . Una solución es rechazar con una cadena:

 catch( err=>reject(err.message))

Sin embargo, si desea obtener más información sobre la URL que no se pudo obtener, deberá incluirla en la información de event.request . Cómo incluirlo depende de si event.request es una cadena de URL, una URL o un objeto de Request u objeto con un stringifier. Sin información exacta, podría intentar algo como

 catch( err=>reject("Fetch failed to fetch " + (request?.url || request )));
about 4 years ago · Santiago Trujillo Denunciar

0

Simplemente borre la propiedad de la stack :

 const e = new Error('Uh oh'); console.log(e.name, e.message, e.stack); e.stack = ''; console.log(e.name, e.message, e.stack);

about 4 years ago · Santiago Trujillo Denunciar

0

Parece que la forma correcta es tragarse el error, la red parece obtener el error correcto que aparece en las pestañas Red y consola en Herramientas de desarrollo.

 self.addEventListener('fetch', function (event) { var req = fetch(event.request).then(resolve).catch(() => {}); event.respondWith(req); });
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda