Я создаю API-интерфейс nodejs с помощью async await. Поэтому для моего контроллера каждая функция асинхронная, которая получает обещание по модели.Для запроса я использовал пакет sequelize для взаимодействия с базой данных.для использования sequelize асинхронного запроса я выбираю плагин bluebird для promisfy.
Promise.promisifyAll(sequelize)
В моей модели у меня есть метод, который возвращает данные, но когда я вызываю sequelize.query, он возвращает данные, но когда янапишите sequelize.queryAsync, он не должен возвращать данные.Функция существует, когда я печатаю объект sequelize.Я хочу знать, как получить данные queryAsync.
LeadModel.getActiveRecords = function () {
return new Promise(async (resolve, reject) => {
try {
let output = await LeadModel.sequelize.queryAsync("SELECT * FROM some_tbl where status = '1'")
// This below query is working fine without queryAsync
//let output = await LeadModel.sequelize.query("SELECT * FROM some_tbl where status = '1'")
resolve(output)
} catch (e) {
reject(e)
}d
})
}
В контроллере я использую этот способ.
LeadController.getlead = async function(req, res) {
try {
let datanew = await LeadModel.getActiveRecords();
console.log(datanew);
} catch (e) {
throw e;
}
}
Подскажите, пожалуйста, почему сиквелиз не возвращает результат асинхронного запроса.