javascript - 从 Sequelize 返回值

标签 javascript sequelize.js

下面的代码是通过用支付的金额减去实际费用来获得到期金额。我得到的值返回为 null 而不是差异。当我为 db.XXX.findOne 添加 return 时,我收到错误消息“无效的值 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;
}

最佳答案

只需从您的 promise (您的 Db 调用)返回。在您的代码中,您在结果从数据库返回之前返回 due 的值。阅读 Promise 和异步 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;
   });
}

关于javascript - 从 Sequelize 返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48629365/

相关文章:

javascript - 与父级相同大小的 Canvas

javascript - f() 和 (f()) 之间有什么区别?

javascript - 为什么 JavaScript 不为此代码示例抛出异常?

javascript - 使用jquery从另一个页面加载div

javascript - 如何使 Sequelize 批量创建 x 条相同记录,仅增加日期?

node.js - 如何在 Sequelize 中用 "in"制作 "subquery"?

javascript - jQuery UI 可排序的 div,如何确定顺序?

node.js - 定义模型后是否需要 Model.init() ? Sequelize typescript

javascript - 为什么我可以直接从 sequelize 模型访问数据值?

mysql - Sequelize 原始查询返回 TextRows 数组