Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

248
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!