Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

252
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda