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

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

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 Relatório

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