从Sequelize返回值

时间:2018-02-05 18:41:08

标签: javascript sequelize.js

以下代码是通过减去支付金额的实际费用来获得到期金额。我得到的值返回为null而不是差异。当我为db.XXX.findOne添加返回时,我得到错误为“无效值Promise”。请帮我理解我哪里出错了

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 个答案:

答案 0 :(得分:0)

简单地从您的承诺(您的Db电话)返回。在您的代码中,在从db返回的结果之前返回due的值。阅读promises和异步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;
   });
}