Возвращаемое значение из 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;
   });
}
Другие вопросы по тегам