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

204
Vistas
Node.js: ¿Alguna forma de dejar de leer el archivo y todo el proceso en la función eachLine del lector de línea?

tengo este codigo:

 const lineReader = require('line-reader'); var truevar = false; async function readLines(filename, processLine) { return new Promise((resolve, reject) => { lineReader.eachLine(filename, (line, last, callback) => { if (!callback) throw new Error('panic'); if (truevar) { // I wanna stop/finish the function here } else { processLine(line) .then(() => last ? resolve() : callback()) .catch(reject); }; }); }) };

Y así es como llamo a la función readLines:

 await readLines('somefile.txt', async (line) => { await delay(1000) // 1 second other_function(line); });

Necesito dejar de leer el archivo y terminar todo el proceso una vez que llegue a cierto punto. He leído los documentos del lector de línea, pero no encontré nada. También traté de hacerlo de la manera sucia con "break"; etc., pero obviamente no terminará el trabajo y se atascará (no puedo volver a llamarlo a menos que vuelva a cargar el programa), por lo que es inútil.

EDITAR: Solucionado el problema. Olvidé volver a configurar truevar en falso para poder volver a llamar a la función.

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

0

Prueba esto:

 lineReader.eachLine(filename, (line, last, callback) => { if (!callback) throw new Error('panic'); if (truevar) { // Add to stop reading cb(false); } else { processLine(line) .then(() => last ? resolve() : callback()) .catch(reject); }; });

Fuente: https://www.npmjs.com/package/line-reader

about 4 years ago · Juan Pablo Isaza Denunciar

0

Descubrí por qué no pude volver a llamar a la función. No fue el problema con la función asíncrona que no se detuvo correctamente, simplemente no configuré el truevar de nuevo en falso, para poder volver a llamar a la función.

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