我有一种情况,只有当用户登录时我才想访问用户数据。当我不查询数据库时,我有以下代码可以工作。这意味着 var tmp
设置为 YOUR_API_KEY
。但是当查询数据库时,我得到了[object Promise]。在谷歌搜索后,我尝试了不同的解决方案,但没有任何解决方案可以解决我的问题。
var tmp = function() {
if(req.session.user) {
return User.findOne({
where: {
id: req.session.user.userID
},
include: [
{ model: Apikey }
]
}).then(function(sqlUser) {
return sqlUser.Apikeys['0'].kay;
});
} else {
return "YOUR_API_KEY"
}
}
最佳答案
使用“回调”
var tmp = function(callback) {
if(req.session.user) {
return User.findOne({
where: {
id: req.session.user.userID
},
include: [
{ model: Apikey }
]
}).then(function(sqlUser) {
callback(sqlUser.Apikeys['0'].kay)
});
} else {
callback("YOUR_API_KEY")
}
}
//now you can use your function like this
tmp(function(apiKey){
//do something with apiKey e.g.:
console.log(apiKey)
});
关于javascript - Sequelize : How to access [object Promise] or return value from promise?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33170094/