Приложение My Node зависает при запуске функции, которую я написал. Код перестанет выполняться в указанной строке c 11-го числа oop без сообщения об ошибке. Больше никаких запросов к приложению не может быть выполнено, и оно должно быть перезапущено. Данные меняются при каждом запуске, и это всегда 11-я итерация.
Функция, которую она вызывает, является относительно сложной, поэтому я не могу поместить код здесь. Мой вопрос: как вы подходите к диагностике фрагмента кода, когда вы не видите уведомлений об ошибках? Я предполагаю, что проблема связана с mysql, поскольку последнее, что было зарегистрировано в упрощенной версии приведенного ниже кода, это «Org request start 11» - сообщения об ошибке никогда не появляется. Но я не понимаю, как код может перестать выполняться здесь без ввода обратного вызова.
Пример кода здесь:
async function processDataset(datasets){
for (let i = 0; i < datasets.length; i++) {
const dataset= datasets[i];
const orgData = await getOrgData(dataset.id);
const parsedDataset = await processDataset(dataset, orgData);
}
}
function getOrgData(datasetId) {
return new Promise(function (resolve, reject) {
console.log("Org request start", datasetId);
connection.getConnection(function (err, connection) {
console.log("got connection");
if (err) {
console.log(err);
reject(err);
}
connection.query("select * from orgs;", function (error, rows, fields) {
console.log("query returned");
connection.release();
if (error) {
console.log(error);
reject(error);
}
resolve(rows);
});
});
});
}
Рабочий узел v12 / Express, mysql 5.5