【问题标题】:Issue in Returning Value in NodejsNodejs中返回值的问题
【发布时间】:2020-05-23 05:21:46
【问题描述】:

我在返回值时遇到问题。

这是我返回值的函数:

async function createOrderId(bizId) {
    const CustomerOrderModel = require('../models/CustomerOrder');
    try {
        var biz_id = bizId;
        var year = new Date().getFullYear();
        var total = 0;
        total = await CustomerOrderModel.countDocuments({bizId:bizId}).exec();
        var w_order_id = biz_id + 'OD' + year + (total+1);
        return w_order_id;
    } catch (e){
        console.log(e);
    }
}

在另一个 API 中,我调用了这个函数并想要这个 w_order_id。但我没有得到价值。

注意:当我调用这个函数时,我也尝试使用 async & await 来解决这个问题。但仍然没有获得价值。

请帮助我。

【问题讨论】:

  • 可以分享一下邮递员吗?
  • 您是否尝试在函数中记录w_order_id 的值以确认这不是您的应用程序的网络层的问题?

标签: node.js mongodb promise


【解决方案1】:

使用 Promise 尝试一下

return new Promise((resolve, reject)=>{
        var biz_id = bizId;
        var year = new Date().getFullYear();
        var total = 0;
        total = await CustomerOrderModel.countDocuments({bizId:bizId}).exec((err, result)=>{
            if(err){
              reject(err)
            } else {
           var w_order_id = biz_id + 'OD' + year + (total+1);
           resolve(w_order_id);
        }

    });

})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    相关资源
    最近更新 更多