将row.id从数据库传递到function-node.js中返回

6ju8rftf  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(306)

我正在尝试将node.js id添加到从数据库检索到的会话中。为此,我编辑了steam登录,但是除了传递id之外的所有操作都有效。我知道为什么它不起作用。这是因为node.js中的查询是异步的。不幸的是,我不知道如何解决它,返回它的一个函数。

req.user = user;
connection.query("select * from users where steamid = "+user.steamid, function(err, row){
  if(err) {
    throw err;
  } else {
    req.user.id = row[0].id;
    //And now when i trying to console.log(req.user.id) i will se the id from database.
  }
});
    //But here when i try console.log(req.use.id) i see undefined.

我要准备一下 req.user.id = id 从数据库。
我不能这样做,因为这行不通。

yi0zb3m4

yi0zb3m41#

一旦您得到查询结果,请立即返回:

user.find('first', { where: "steamid = " + player.steamid }, function(err, row) {
    if (row === undefined || row === null) {
        user.save();
    } else {
        user.set('id', row.id);
        user.save();
    }                                                              
});

user.find('first', { where: "steamid = " + player.steamid }, function(err, row) {
    return Promise.resolve({
        id: row.id,
        _json: player,
        steamid: steamID,
        username: player.personaname,
        name: player.realname,
        profile: player.profileurl,
        avatar: {
            small: player.avatar,
            medium: player.avatarmedium,
            large: player.avatarfull
        },
        hascsgo: hascsgo
     });                                                           
 });

相关问题