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

347
Views
¿Por qué este código produce un diccionario vacío y cómo puedo solucionarlo?

Estoy tratando de leer un archivo y dividirlo en varios caracteres. Si coloco la declaración de registro dentro del bloque rl.on, obtengo algunos resultados, pero por alguna razón, el diccionario vuelve a estar vacío cuando finaliza el bloque.

 let rl = readline.createInterface({ input: fs.createReadStream('Spanish.txt'), }) 

 let dict={}; let arr1=[]; let arr2=[]; rl.on(`line`, (line)=>{ if (!line.startsWith('#')){ arr1=line.split('\t'); if (arr1[1]!=undefined) { arr2 = arr1[1].split('[').join(',').split('/'). join(',').split('(').join(',').split(','); dict[arr1[0]]=arr2[0]; } } }); console.log(dict);

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Las líneas se leen de forma asincrónica, por lo que cuando registras tu dict , el procesamiento aún no se ha completado.

Puede escuchar el evento declose para determinar si el archivo se ha leído por completo:

 rl.on('close', () => console.log(dict));

Mejor aún, use un enfoque basado en async / await como se detalla en la documentación de Node.js.

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!