返回未定义而不是数字的函数[重复]

Posted

技术标签:

【中文标题】返回未定义而不是数字的函数[重复]【英文标题】: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);
    );

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

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

【问题讨论】:

我没有看到任何回报 【参考方案1】:

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

return bill + 130

【讨论】:

从回调函数返回没有意义。 mongoose API 不会对返回值做任何事情。

以上是关于返回未定义而不是数字的函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个异步函数返回未定义? [复制]

Parse.Cloud.httpRequest 使用 POST 方法返回“未定义”而不是响应

Javascript函数返回未定义,预期整数值[重复]

尝试使用函数调用返回时,array.map 给出未定义 [重复]

要求函数的返回数据变为未定义(Js,NodeJs,Discord.js)[重复]

Javascript元素数组innerHTML返回未定义