如何从具有多个匿名函数的JavaScript匿名函数返回对象?

时间:2019-05-14 20:39:57

标签: javascript function return-value

这是一个使用express构建的node.js Web应用程序,该应用程序允许用户登录到个人资料并根据登录者的情况以图形方式查看测验分数。注意:我习惯使用Java,因此javascript令人困惑我。我对编程也很陌生。

问题: 我想根据哪个用户登录到应用程序从MySQL数据库动态创建多个对象。这些对象是用户完成的测验分数。

我创建了一个函数:1.连接到数据库,2.创建sql数据行的对象,3.创建该对象的值的数组,4.拆分每个索引处的值,并解析为整数并累积拆分的每一侧。

function getdata(query){

const connection = mysql.createConnection(dbconfig.connection);
connection.connect(function(err){
    if (err) throw err;

    connection.query(query, function(err, result, fields) {
        if (err) throw err;

        Object.keys(result).forEach(function(key) {
            const values = result[key];
            const scoreArray = Object.values(values);


            // I want to return the scores object from the function
            // with the score and maxScore key:value pairs

            const SCORES = scoreArray.reduce((accum,scoreArray)=>
            {
                const splitValues = scoreArray.split('/')

                return {
                    score:accum.score + parseInt(splitValues[0]),
                    maxScore:accum.maxScore + parseInt(splitValues[1]),
                }
            },{score:0,maxScore:0})
            console.log(scores)
        });
    })
})

};
var query1 = "SELECT category1 FROM users WHERE id = user.id"; 
var query2 = "SELECT category2 FROM users WHERE id = user.id"; 



getdata(query1);

我想通过返回我在函数中创建的对象,如下创建此得分对象。为此,我必须对功能进行哪些更改?

var scoreObj1 = getdata(query1);

0 个答案:

没有答案