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

146
Vistas
Confusión sobre las fugas de memoria causadas por no borrar el tiempo de espera en los controladores de recuperación

Estoy leyendo una publicación de blog sobre Promise.race, buscar y evitar fugas de memoria y hay una cosa que no entiendo del todo.

La implementación ingenua que mencionó en la publicación del blog provoca una pérdida de memoria

 const request = fetch(url, options).then(response => response.json()); const timeout = new Promise((_, reject) => { setTimeout(() => { reject(new Error('Timeout')); }, 10000) }); Promise.race([ request, timeout ]).then(response => {}, error => {})

Entiendo que la devolución de llamada que pasamos a setTimeout contiene referencias a la función del constructor de la promesa, pero lo que no entiendo es que en la instantánea del montón que tomó al final de la publicación del blog muestra que hay muchos http.agent y los objetos Socket relacionados se mantuvieron debido a la versión en línea de setTimout. ¿Por qué tal implementación causaría la retención de los objetos http.agent y Socket? Pensé que iba a conservar la función del constructor de la promesa y eso es todo.

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