Estoy tratando de leer un documento .html usando el nodo, creando una matriz con dicho documento, luego intento iterar a través de la matriz para buscar marcadores de posición que están en el documento para intercambiar datos de un objeto que se creó a partir de una lectura .csv expediente.
Cuando hago console.log en la matriz después de ejecutarla, muestra la información como si nunca se hubiera editado con el ciclo forEach. ¿Me estoy perdiendo algo con el código asíncrono?
Aquí está:
import * as fs from 'node:fs'; import { parse } from 'csv-parse'; fs.readFile('test.csv', 'utf8', (err, data) => { let matrix = []; if (err) throw err; parse(data, {columns: true, trim: true}, function(err, rows) { if (err) throw err; rows.forEach(row => { // console.log(row) const newCode = [] for (let [key, value] of Object.entries(row)) { // console.log(key) const keyToSearch = `{(${key})}` try { const data = fs.readFileSync('index.html', 'utf8') const dataArr = data.split('\n') dataArr.forEach(line => { if (!line.includes(keyToSearch)) { newCode.push(line) } else { let newLine = line.replace(keyToSearch, value) newCode.push(newLine) } }) }catch(err) { console.error(err) } } console.log(newCode) }) }) })