【问题标题】:Function returning undefined instead of a Number [duplicate]返回未定义而不是数字的函数[重复]
【发布时间】:2019-05-17 22:42:54
【问题描述】:

我在 js 中有一个函数,它基本上是计算账单。这是代码:-

let bill = () => {
Customer
    .findOne({stb_no: "34BDFA64E31F"})
    .then(result => {
        Plan.findById(result.plan).populate('channel_list').exec(function(err, ch) {
            if(err){
                console.log(err);
            } else {
                let bill = 0;
                for(let rates of ch.channel_list)
                {
                    bill = bill + parseInt(rates.rate);
                }
                return bill + 130;
            }
        });
    })
    .catch(err => {
        console.log(err);
    });
}

该函数在从数据库获取数据后简单地计算账单,应该返回一个整数,但它返回未定义。 请帮忙

注意:- 计划和客户是猫鼬模型。

【问题讨论】:

  • 我没有看到任何回报

标签: javascript node.js express mongoose mongoose-populate


【解决方案1】:

你没有返回任何东西。如果你想处理调用 this 的结果,那么你必须像这样返回结果:

return bill + 130

【讨论】:

  • 从回调函数返回没有意义。 mongoose API 不会对返回值做任何事情。
猜你喜欢
  • 2018-05-08
  • 1970-01-01
  • 1970-01-01
  • 2021-06-04
  • 2021-09-11
  • 1970-01-01
  • 2015-12-26
  • 2017-07-26
  • 2021-10-03
相关资源
最近更新 更多