Node.js Knex SQL插入太慢

时间:2018-07-14 09:53:56

标签: javascript mysql sql node.js

我有一个执行以下操作的基本登录系统:

  • 检查用户名是否存在(确定)
  • 插入用户名

插入后,我从插入的UIButton中选择id。这在第一次登录时是正确的,但是当我注销并使用新的用户名登录时,插入速度太慢,导致我的选择引发异常,因为插入尚未完成。我该如何解决?

我的代码:

Database.js:

username

Login.js:

getPlayerByName (username) {
    return this.knex("penguins").first("*").where("username", username)
}
getPlayerExistsByName (username) {
    return this.knex("penguins").where("username", username).select("username")
}
insertPlayer (username) {
    return this.knex("penguins").insert({username: username}).then(() => {
        Logger.info(`Inserted ${username}`)
    }).catch((err) => {
        Logger.error(err)
    })
}

1 个答案:

答案 0 :(得分:0)

尝试在then的回调中使用异步函数,并在插入中使用await并让用户同步执行这两种方法