在返回expressjs回调

时间:2016-10-09 16:00:19

标签: mysql node.js express node-async

我有这段用Nodejs ExpressJS编写的代码。 我想在到达/ home调用的最后一行之前得到MySQL查询的结果。 我试图使用光纤和异步库并花费很长时间在它们上的问题,但没有结果它们太复杂。我希望有人可以解释如何在我的代码中使用异步,或者在重新发送页面之前给出获取mysql结果的正确方法。

app.get('/home', function(req, res) {

  if (req.session.data.user) {
    db_classic.query('SELECT devices.id ,devices.name ,devices.imei as marker \
                            from devices \
                            left join device_owners \
                            on devices.id = device_owners.device_id \
                            left join users \
                            on users.id = device_owners.user_id \
                            where users.email =? \
                 ', [req.session.data.user], function(err, result) {

      console.log(json(result));
      console.log("user :" + req.session.data.user);
      console.log('/home');
      res.render('home', {
        'username': req.session.data.user,
        'devices': result
      });

    });
  } else {
    console.log('/');
    res.render('index');
  }
  console.log('done');

});

0 个答案:

没有答案