繁体   English   中英

在nodejs中使用异步等待function和mongoose查询

[英]Use async await function with mongoose query in nodejs

我试图在 mongoose 中进行异步并等待 function。 但在一种情况下它根本不起作用,而在另一种情况下它显示语法错误。

这是我的代码

exports.updateDiscount= async (_id,discount) =>
{
    try
    {
        console.log(_id,discount);
        Discount.findOne({_id},(err,user) =>
        {
            if(user)
            {
              user.discountRate=parseFloat(discount);
              let saveUser= await user.save();
              if(saveUser)
              {
                  console.log("Discount saved");
                  return true
              }
            }
        })
    } catch(err)
    {
        console.log(err);
    }
}

我在另一个模块中使用 function


if( updateDiscount(item.userid,discount) === true)
   {
   }

解决方案::

exports.updateDiscount= async (_id,discount) =>
{
    try
    {
        console.log(_id,discount);
        let user = await Discount.findOne({_id});
        
            if(!!user)
            {
              user.discountRate=parseFloat(discount);
              let saveUser= await user.save();
              if(!!saveUser)
              {
                  console.log("Discount saved");
                  return true
              }
            }
    } catch(err)
    {
        console.log(err);
    }
}

你需要等待 function

const answer = await updateDiscount(item.userid,discount);
if(answer) {
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM