Проблема в вашей transform
функции
const transform = csv.transform(async (row) => {
await translate(row[1], { from: 'en', to: 'fr' })
.then(res => { row[1] = res.text})
console.log(row) // this shows that I succesfully wait for and get the values
return row
})
То, что вы делаете здесь, предполагает, что async
можно просто использовать без каких-либо последствий. Проблема в том, что вы на самом деле ничего не возвращаете из своей асинхронной функции в ожидаемом обратном вызове, то, что передается более поздним функциям, - ничто
Исправить несложно, передать данные обратно в функцию обратного вызова
const transform = csv.transform(async (row, done) => {
await translate(row[1], { from: 'en', to: 'fr' })
.then(res => { row[1] = res.text})
console.log(row) // this shows that I succesfully wait for and get the values
done(null, row)
})
См. URL ниже
https://csv.js.org/transform/options/
Результат
$ node index.js && cat test-output
[ '7228', 'Pot de café en acier inoxydable', '17.26' ]
[ '5010',
'Set de 4 bidons avec couvercle PS (acier inoxydable)',
'19.92' ]
[ '7229', 'Cafetière pour 6 tasses (acier inoxydable)', '19.07' ]
"7228";"Pot de café en acier inoxydable";"17.26"
"5010";"Set de 4 bidons avec couvercle PS (acier inoxydable)";"19.92"
"7229";"Cafetière pour 6 tasses (acier inoxydable)";"19.07"