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

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

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 Report

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 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!