在父函数中等待子函数db查询结果

时间:2018-11-15 02:32:27

标签: javascript node.js

对不起,如果标题令人困惑,这是节点的新问题……我创建了一个读取cretin数据的函数,我必须从db中大量使用它,以便可以在其他函数中使用它并减少代码

function connect_to_mysql(callback){
    var con = mysql.createConnection(sysSetting.db);
    con.connect(function(err) {
        if (err){
            callback(true , null );
        } else {
            callback(false , con );
        }
    });
}

function read_account_setting(callback){
    connect_to_mysql( function(err,conn) {
        if(!err)
        {
            conn.query(`SELECT * FROM settings`, function (err, result, fields) {
                if (err) throw err;

                if(result.length == 1 )
                {
                     callback( result[0]);
                }
            });
            conn.end();
        }
    });
}

所以我想在其他函数中调用read_account_setting以获得

之类的数据
async function do_Stuff () {
        var account_setting = {};
        read_account_setting(function(data){
            account_setting = data ;
        });
     console.log(account_setting );
}

但是由于这行console.log(account_setting );中js(我想)的异步特性,我最终得到的默认值是空对象

我该如何解决?

0 个答案:

没有答案