gpt4 book ai didi

javascript - Sequelizejs promise 返回空对象

转载 作者:行者123 更新时间:2023-12-03 22:42:54 31 4
gpt4 key购买 nike

我正在使用 Sequelizejs 并尝试创建简单的用户验证功能

function ValidateIsUserLogged(sessionKeyInput) {
var result = app.get('dbContext').user
.find({
where: {
sessionKey: sessionKeyInput
}
})
.then(function (user) {
return user != null;
}, function (error) {
console.log(error);
});

return result;
}

在 .then() 用户很好,它是相同的正确对象,一切都很好,但我想得到超出 promise 的结果。我尝试过 .success().error() ,现在使用 .then() 结果(几乎)相同,我得到了一个空对象,但无法从 promise 中的函数获得结果。我试图在 .then() 中设置一个变量,但结果是同一个变量没有改变它的值或函数已经返回了值(在分配/更改值之前)。我知道它是异步方法,也许问题是关于 promise 的,但我已经在这里呆了好几天了。任何帮助表示赞赏:)

最佳答案

编写同步等效项:

function validateIsUserLogged(sessionKeyInput) {
try {
var user = app.get('dbContext').user
.find({
where: {
sessionKey: sessionKeyInput
}
});
}
catch(error) {
console.log(error);
}
return user != null;
}

修改它:
function validateIsUserLogged(sessionKeyInput) {
try {
var user = app.get('dbContext').user
.find({
where: {
sessionKey: sessionKeyInput
}
});
}
catch(error) {
console.log(error);
}
return user;
}

将上述内容转换回 promises:
function validateIsUserLogged(sessionKeyInput) {
return app.get('dbContext').user
.find({
where: {
sessionKey: sessionKeyInput
}
}).then(function(user) {
//This is pointless but I have no idea what you want to do
return user;
}, function(error) {
console.log(error);
});
}

关于javascript - Sequelizejs promise 返回空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19888414/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com