这是我的功能:

/* 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 - 在express.js中的简单函数中未处理的 promise 拒绝警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40946610/

10-16 13:03