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

149
Visualizações
Registro de JavaScript realizado antes de que finalice el ciclo

Quiero registrar algunos datos provenientes de un archivo CSV usando un bucle for para cada línea. Cuando finaliza el ciclo for, quiero que registre "hecho", pero parece que registra "hecho" antes de la última línea del archivo csv det... Archivo CSV:

 CHANNEL,TITLE,TEXT EzaguesTesting,TITLE TIL SR 1,TEKST TIL SR 1 EzaguesTesting2,TITLE TIL SR 2,TEKST TIL SR 2 EzaguesTesting3,TITLE TIL SR 3,TEKST TIL SR 3 EzaguesTesting4,TITLE TIL SR 4,TEKST TIL SR 4 EzaguesTesting5,TITLE TIL SR 5,TEKST TIL SR 5

El código que debería registrarlo:

 fs.readdir(dirPath, async function (err, lines) { for await (const line of lines) { await new Promise(resolve => { fs.createReadStream(dirPath + line) .pipe(csv()) .on('data', data => { console.log('SR: ' + data.CHANNEL + ' Titel: ' + data.TITLE + ' Tekst: ' + data.TEXT); resolve(true); }); }) } console.log('done'); })

Todo parece funcionar bien, aparte del hecho de que registra "hecho" una línea antes de tiempo...

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Resuelve su Promesa en 'datos'. Significa que, tan pronto como su transmisión le envíe el primer fragmento, resolverá la Promesa solo con este fragmento.

Debe devolver el resultado .on('end') .

 const files = await fs.promises.readdir(dirPath); for (const file of files) { await new Promise(resolve => { let result fs.createReadStream(dirPath + line) .pipe(csv()) .on('data', data => { result = data; }) .on('end', () => resolve(result)); }) } console.log('done');

He realizado algunos otros cambios, como usar la versión Promise de fs.readdir y también cambiar el nombre de lines a files (obtiene nombres de archivos, no líneas).

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