1

我正在尝试检查node.js应用程序中是否使用了用户名。出于某种原因,我在执行“db.get..”后无法设置变量。我希望能够根据名称是否被采用或是否有错误来设置“采用”。

我对异步调用不是很熟悉,我也不确定什么是真正的异步。我在这里这里读过异步调用,但我仍然无法理解它。我很难将它实现到我的代码中。

我正在使用sqlite3和一个本地数据库文件来测试它。

function isUsernameTaken(username) {
    console.log("checking username");
    query = "SELECT * FROM `account` WHERE username = ?";
    let taken = true
    db.get(query, [username], function(error, post){
        if(error){
            console.log("error: "+ error);
            taken = 500;
        }
        else{
            console.log("the post: " +post);
            if(post === undefined || post.length == 0 || !post){
                taken = false  
            }
        }
    })
    console.log("Name taken?: " +taken);
    return taken;
}

我希望能够返回所采用的变量,但它总是返回为

真的

4

0 回答 0