1
我是新来的续集。我使用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返回给调用函数。
首先,你不能只返回值。数据库查询是一个异步调用,需要像那样处理。你的函数getUserId()需要返回一个Promise。只需返回models.users.findOne()方法。 –
感谢@Himmet的回复。当我返回models.users.findOne()时,我会在userId处得到一个promise对象。如何访问该承诺对象的值?你能帮我解决吗? –
这里是关于如何使用JavaScript承诺的教程http://www.sitepoint.com/overview-javascript-promises/我建议你从那里开始。 – grimurd