Возвращаемое значение из Sequelize
Приведенный ниже код предназначен для получения причитающейся суммы путем вычитания фактической комиссии с уплаченной суммы. Я получаю значение, возвращаемое как ноль вместо разницы. Когда я добавляю return для db.XXX.findOne, я получаю сообщение об ошибке "Обещание неверного значения". Пожалуйста, помогите мне понять, где я ошибся
let x=getDueAmount(1,200);
const getDueAmount = (id,amountpaid) => {
let due;
db.XXX.findOne({
where:{id: id},
attributes:['fees']
}).then(feeDetail=>{
due=feeDetail.fees-amountpaid;
});
return due;
}
1 ответ
Просто вернитесь из своего обещания (вашего звонка в Db). В вашем коде вы возвращаете значение due
до результата, возвращающегося из БД. Читайте об обещаниях и асинхронном JavaScript
let x=getDueAmount(1,200);
const getDueAmount = (id,amountpaid) => {
return db.XXX.findOne({
where:{id: id},
attributes:['fees']
}).then(feeDetail=>{
return feeDetail.fees-amountpaid;
});
}