#node.js #mysql2
#node.js #mysql2
Вопрос:
Я извлекаю данные из Amazon MWS и вставляю их в базу данных MySQL. По какой-то причине команды MySQL перестают выполняться после определенной точки в цепочке обещаний.
Базовый запрос перестает работать, как только мы добираемся до .then (getInventoryDaysRemaining)
getUSInventory()
.then(requestInventoryDaysRemainingReportId)
.then(function() {
db.query(`select 11111`, function(err, results) {
if (err) {
console.log(err);
} else {
console.log(results);
}
});
})
.then(getInventoryDaysRemaining)
.then(combineInventoryAndDaysRemaining)
.then(pushCombinedUSInventoryToDatabase)
.then(function() {
console.log('Success!');
process.exit();
})
.catch((err) => {
console.log(err);
process.exit();
});
Я бы ожидал, что базовый запрос MySQL будет выполняться в любой части цепочки, но он останавливается, как только мы доберемся до .then (getInventoryDaysRemaining)
Комментарии:
1.
function(err, results)
не возвращает обещание.2. Я обновился, чтобы сделать это, и он будет работать нормально. Однако, если я помещу ту же самую строку кода дальше по цепочке, она не будет регистрировать результаты или ошибку.
3. Просто создайте свою функцию
async
и верните что-нибудь:.then(async () => { // function body here which returns something }).then(...)