从续集查询

时间:2016-04-30 11:58:36

标签: mysql node.js express sequelize.js

我是续集的新人。我使用mysql作为我的数据库。我有一个sequelize查询,它从数据库中找到email-id。通过使用此查询的结果,我获得了该行的ID。现在我需要返回这个值。有人可以帮助我如何做到这一点。

这是我的代码。

var userId = getUserId(email_address);
function getUserId(email_address) {
   models.users.findOne({
     where: {
       email: email_address
     }
   }).then(function(result) {
      if (result) {
        var applicantId = result.id;
        return applicantId;  // This is what I need to do
      } else {
        console.log("Could not find Email");
      }
   });
}

这里我需要将变量applicantId返回给调用函数。

1 个答案:

答案 0 :(得分:3)

对数据库的Sequelize调用是异步的,因此您需要稍微更改代码才能使用promises。像这样:

function getUserId(email_address) {
   return models.users.findOne({
     where: {
       email: email_address
     }
   });
}

getUserId("some@email.com").then(function(result){
   console.log(result.id);
});

查看模拟您的方案的this fiddle