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

247
Vistas
Zone.js no caduca por solicitud en el nodo y su valor existe en la pila

Soy muy nuevo en express.js, node.js. En nuestra aplicación, usamos la biblioteca zone.js para almacenar el valor ttl en la pila. Según tengo entendido, la zona solo se aplica por solicitud una vez que la respuesta se envía al usuario final. Después de esa zona morirá.

Pero lo que pase en mi caso, seguirá existiendo. Para un ejemplo:

En la primera solicitud, almacené el valor ttl en 150 usando la función storeTtl. y luego, mientras enviaba la respuesta, traté de obtener el valor usando la función getMinimumTtlVal. En respuesta, obtengo 150, eso es correcto porque la pila solo tiene un valor presente y antes de llamar a la solicitud de API de envío, debería estar vacío, pero eso no está sucediendo.

Cuando hice otra solicitud con el valor ttl 180 y almacené ttl usando la función storeTtl, pero cuando traté de obtener el valor en la función getMinimumTtlVal, ahora el satck tiene dos valores (150,180). Debido a la función min, devuelve 150.

Aquí se requiere la función Min, porque en alguna solicitud llamamos a la función storeTtl un par de veces. No puedo descifrar qué está mal en este código.

El código de muestra está a continuación:

 require('zone.js/dist/zone-node.js'); class TtlStore { storeTtl (ttl) { if (!Zone.current.ttlStore) { Zone.current.ttlStore = []; } Zone.current.ttlStore.push(ttl); } getMinimumTtlVal () { const minValue = Math.min(...Zone.current.ttlStore); if (isNaN(minValue) || !Number.isInteger(minValue)) { return 0; } return minValue; } } module.exports = TtlStore;

Gracias por adelantado

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Nunca usé zone.js. Pero creo que se debe a que express no crea un nuevo hilo para cada solicitud y zone.js mantiene los valores para un hilo. Encontré otra pregunta sobre la lógica de subprocesos de nodejs y esto podría ser lo que está buscando . Si desea vaciar ttlStore por solicitud, puedo sugerirle que agregue un middleware que ejecute el final de la solicitud y borre su almacenamiento.

about 4 years ago · Juan Pablo Isaza 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