#javascript #node.js #csv #asynchronous #fs
#javascript #node.js #csv #асинхронный #fs
Вопрос:
В настоящее время я пытаюсь записать результаты sql-запроса в файл CSV, используя csv-stringify
модуль для NodeJS.
Вот мой код :
async exportData() {
try {
let request = 'SELECT * FROM PROFACE.dbo.EvenementsMachines WHERE idMachine=215';
let results = await sql.query(request);
stringify(results, {
header: true
}, function (err, output) {
fs.writeFile(__dirname '/results.csv', output, function(err, result) {
if (err) {
console.log('error : ', err);
}
});
})
} catch (e) {
console.log(e);
}
}
server.app.get("/export", function(req, res) {
try {
exportData().then(function(value) {
res.json("OK");
});
} catch (e) {
console.log(e);
}
})
Этот фрагмент кода возвращает следующую ошибку.
CsvError: Invalid argument: got {"header":true} at index 1
at stringify (C:Usersc.chaulaicDocumentsDevmps-prodnode_modulescsv-stringifylibindex.js:482:13)
at DAO.exportData (C:Usersc.chaulaicDocumentsDevmps-prodserverDAO.js:219:4)
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
code: 'CSV_INVALID_ARGUMENT'
Я предполагаю, что есть эта ошибка, потому что она асинхронна, а results
переменная не определена, когда я использую stringify()
функцию. Но я не знаю, как переписать свой код, чтобы он мог нормально работать.
Комментарии:
1. какой модуль npm вы используете?
2. @arjunkori csv-stringify