Я пытаюсь сделать серию задач для базы данных (проконсультироваться и вставить) из списка. Задачи выполняются в течение Array.prototype.map()
, а затем соединение прерывается, но появляется ошибка: Error: Cannot enqueue Query after invoking quit.
.
Я занимался расследованием, и причина ошибки в том, что я не закрываю соединение, а закрываю его в конце.
cars.map(async (item, i) => {
result = await requestProperties(i);
if (!checkJSON(result)) {
console.log("*** INCORRECT JSON FORMAT *** --> " + item.id)
} else {
JSONResponse = JSON.parse(result)
getStatusCar(i, JSONResponse);
if (JSONResponse["status"] === "BROKEN") {
try {
urlCarBroken = JSONResponse["broken"][0]["url"]
resultBroken = await requestUrlCarBroken(urlCarBroken)
if (typeof resultBroken !== 'string') {
console.log("*** INCORRECT JSON FORMAT *** --> " + item.id)
} else {
messageError = await readXML(resultBroken)
descriptionError = messageError[0]
codeError = messageError[1]
queryInsertError = 'INSERT INTO cars_broken VALUES ("' + item.id + '", "' + codeError + '", "' + descriptionError + '");'
database.query(queryInsertError)
.then(rows => {
if (rows.affectedRows !== 0) {
console.log("ERROR INSERTED --> " + item.id)
}
}).catch(error => console.log(error))
}
} catch (error) {
console.log("*** ERROR NOT FOUND *** --> " + item.id)
}
}
}
}, database.close())