javascript - expressjs 中简单函数中的未处理 promise 拒绝警告

标签 javascript node.js express

这是我的功能:

/* function for add transaction */
function addtransaction(user_id,status,amount,date,description){
  var saved = "";
  function getLastId(){
    Transactions.findOne({}, {}, { sort: { '_id' : -1 } }).lean().exec(function(err, lastTrans) {
        if (err) {
          return 1;
        }else{
          return parseInt(lastTrans.id) + 1;
        }
    });  
  }

  var newId = getLastId();
  var newTransactions = new Transactions({
      id           : newId,
      user_id      : user_id ,
      status       : status ,
      amount       : amount ,
      date         : date ,
      description  : description
  });

  if (newTransactions.save()){
    return true;
  }else{
    return false;
  }     
}/* end function */

这是我的控制台错误:

你能帮我解决这个错误吗? enter image description here

我更新了我的功能,但仍然有错误!

最佳答案

好像错误在这里 getLastId + 1getLastId 是一个函数而 1 是一个数字,函数不能转换到一个数字。您很可能忘记放入括号以从函数调用中获取结果。

尝试将 getLastId + 1 替换为 getLastId() + 1

关于javascript - expressjs 中简单函数中的未处理 promise 拒绝警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40946610/

相关文章:

javascript - V 形图标上升后不会下降

Javascript SQL 请求 Bad Field Error in where 子句

javascript - NodeJS、Express、原型(prototype)中的变量范围问题

javascript - 如何集成 Express 和 React 来发送电子邮件

javascript - 如何使用从索引文件导入的命名空间动态调用模块?

具有设置背景的 Javascript slider

javascript - 大规模 KnockoutJS 应用架构

javascript - 检查文件是否同步存在是什么意思?

javascript - request.ref 不是函数

node.js - 使用 Mongoose 查找过去 7 天内的注册用户总数