I'm using nodejs with mysql and fs to query a database and modify the results by adding a text file to each row. I realize I need to use a promise here but I can't quite get it. I can't figure out what I'm doing wrong. Here is my code so far:
db.query(sql, params, function(err, rows) {
if(err) {
res.status(400).json({"error": err.message});
return;
}
var data = {};
var p = new Promise(function(resolve, reject) {
rows.forEach(function(row) {
var filePath = `${contentdir}/${row.strTicketNumber}-${row.strTicketRevision}.txt`;
row.fileTxt = fs.readFile(filePath, 'utf8', function(error, content) { if(error) return ""; return content; });
data[row.intSerial] = row;
});
resolve(data);
});
p.then(function() {
res.json( data );
})
});