Я новичок в NodeJ и нахожу неблокирующую и асинхронную природу JS чрезвычайно трудной для понимания и обработки,
У меня есть фрагмент кода, который должен повторять массив
и для каждогоитерация, я должен сделать обновление БД.
Может ли кто-нибудь предоставить правильную реализацию функций библиотеки Async и помочь исправить мой код?
Пример кода -
function updateFunction(conn, requestBody, callback) {
let arr = [];
async.each(requestBody.arr, function(item, callback) {
let sqlData = []
let columns = "";
if(item.columnData != null){
sqlData.push(item.columnData);
columns += "`columnName` = ?,";
}
if(columns != ''){
columns = columns.substring(0,columns.length-1);
let sqlQuery = 'UPDATE someTable SET '+columns
+' WHERE id = "' + item.id + '"';
conn.query(sqlQuery, sqlData, function (err, result) {
if (err) {
return callback(err, false);
}
})
}
else{
return callback(null, false);
}
columns = "";
sqlData = [];
},
function(err, results) {
//Code never reaches here, don't know why
if (err) {
return callback(err, false);
}
else{
return callback(null, true);
}
});
} // END