从 Sqlite3 回调函数中获取结果值
Getting the result value out of Sqlite3 callback function
我在带有 React 前端的 Express 后端中使用 Sqlite3。所以我试图检查数据库中是否有用户使用特定的电子邮件。我有下面的功能,还没有完成,但我遇到的问题是我无法 return 结果。
有没有办法从回调函数中 return result
变量,或者我只能在回调函数中访问它?
完成后,函数应该 return 如果用户的电子邮件存在,或者如果他们在数据库中不存在,则返回 false。
getUserByEmail = () => {
database.get(getUserByEmailQuery, [], (err, result) => {
if (err) {
console.log(err.message);
}
console.log(result.emailAddress);
return result;
});
};
我大约一个小时前才解决的。不是最聪明的解决方案,但我所做的只是为数据库使用不同的包。
所以我使用了better-sqlite3,这样就可以将数据库查询的结果存储到一个变量中。
这是更新后的代码:
exports.getUserByEmail = (email) => {
const result = betterSqlite3DB.prepare(getUserByEmailQuery).get(email);
return result;
};
我在带有 React 前端的 Express 后端中使用 Sqlite3。所以我试图检查数据库中是否有用户使用特定的电子邮件。我有下面的功能,还没有完成,但我遇到的问题是我无法 return 结果。
有没有办法从回调函数中 return result
变量,或者我只能在回调函数中访问它?
完成后,函数应该 return 如果用户的电子邮件存在,或者如果他们在数据库中不存在,则返回 false。
getUserByEmail = () => {
database.get(getUserByEmailQuery, [], (err, result) => {
if (err) {
console.log(err.message);
}
console.log(result.emailAddress);
return result;
});
};
我大约一个小时前才解决的。不是最聪明的解决方案,但我所做的只是为数据库使用不同的包。
所以我使用了better-sqlite3,这样就可以将数据库查询的结果存储到一个变量中。
这是更新后的代码:
exports.getUserByEmail = (email) => {
const result = betterSqlite3DB.prepare(getUserByEmailQuery).get(email);
return result;
};