首页 > 解决方案 > Nodejs中返回值的问题

问题描述

返回值时我面临一个问题。

这是我返回值的函数:

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 来解决这个问题。但仍然没有获得价值。

请帮助我。

标签: node.jsmongodbpromise

解决方案


尝试使用 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);
        }

    });

})

推荐阅读