您好我想返回一个带有选项的简单布尔值: - true:用户存在于数据库中 - false:数据库中不存在用户
这是我的非工作代码:
database.users.get("test-username", function (err, value) {
if (err) {
return err;
} else {
return value;
}
})
返回始终为undefined
我知道NodeJS设计用于异步,但异步函数不允许我返回一些东西。我被卡住了,请帮忙!
另外,我使用LevelUP
作为数据库系统。
(如果我的问题没有解决方案,NodeJS中是否有允许同步的其他数据库系统?)
感谢社区!
答案 0 :(得分:1)
你在控制台时收到任何回报。记录你的回报? 例如:
function dbCall(){
database.users.get("test-username",function(err, value){
if(err){
return false;
}else{
console.log(value);
return value;
}
}
}
如果你得到了有价值的东西,那么你没有看到任何回报的原因是因为api调用是异步的。你必须做出承诺。
new Promise(resolve,reject){
let data = dbCall();
if(data == false)
reject(data);
else
resolve(data);
}