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