函数在返回时给出未定义的

时间:2019-07-01 12:29:35

标签: javascript mysql

我正在尝试创建一个为mysql db自动递增id的函数,并使其成为int,但是当我返回它时,即使在控制台中它仍返回未定义的值,尽管它在返回之前会打印正确的int

我已经尝试过回调,但是我仍然不知道这是否是异步的正确用法:

let callback = function(rows) {
    if (rows.length < 1) {
        return 1;
    } else {
        return rows[0].id + 1;
    }
}

let autoinc = function() {
    con.query(`SELECT id FROM songlist ORDER BY id DESC`, function(err, rows) {
        if (err) throw err;
        a = callback(rows);
        console.log(a);
        return a;
    });
}

该int会在控制台中打印出来,但函数不会返回它

0 个答案:

没有答案