Когда я пытаюсь вставить некоторые данные и обработать результат, используя «for Loop», итерация завершается только в последнем цикле.
const sql4 = "insert into core_crm_job_task set ?";
for(var m = 0; req.body.jobTasks.length > m; m++){
console.log('a'+m);
let jobTask = {
ID_JOB_REGISTRY : registryId,
ID_TASK_CODE : jobCode+' '+req.body.jobTasks[m].task_code_suffix,
TASK_TYPE : req.body.jobTasks[m].task_type,
TASK_QTY : req.body.jobTasks[m].task_qty,
TASK_INSTRUMENT : req.body.jobTasks[m].task_instrument,
TASK_INSTRUMENT_ID : req.body.jobTasks[m].task_instrument_id,
REMARK : req.body.jobTasks[m].task_remark,
IS_ACTIVE: 1,
CREATED_BY: 1,
CREATED_DATE: getCurrentTime()
};
connection.query(sql4,jobTask, (err, result) => {
if (err){
console.log('b'+m);
connection.release();
}
else{
console.log('c'+m);
//some process here
}
})
}
Ниже показан пример вывода, когда я использовал массив из 3 элементов.
Лог с буквой 'c' печатается только в последнем элементе. Другие элементы не завершили итерацию.
a0
a1
a2
c2
Но мне нужно выполнить какой-то процесс после каждого запроса на вставку. В этом случае это невозможно.
Пожалуйста, предложите какое-нибудь решение!