mysql - 我无法让我的异步函数工作
问题描述
所以,我完成了我的 web 项目,但我注意到了一些错误,然后我发现由于数据库中操作的异步性,我需要进行一些更改。顺便说一句,我正在使用 mysql 和 nodejs,我正在运行一些基本测试来理解语法,但我不能让我的函数等待我从数据库中选择。
测试操作如下,应该返回“开始之前”、我的函数的结果,最后是“我的函数之后”。
async function myFunction(){
db.query('SELECT id FROM users2 WHERE email = "test@gmail.com"'),(error,results)=>{
if(error){console.log(error)}
else{
console.log(results)
return results
}
};
}
function teste(){
return myFunction();
}
(async() => {
console.log('before start');
await teste()
console.log('after my function');
})();
但是我的函数的结果首先返回给我,然后是“开始之前”,最后是“在我的函数之后”。
有人可以澄清为什么会这样吗?
解决方案
推荐阅读
- python - Sklearn 线性回归输出
- android - 从路径生成位图列表以在画布上绘制它们很慢
- html - 引导对齐中的两个导航栏
- python - 在绘图中选择 x 轴的特定部分
- javascript - 为什么 express 无法在 views 文件夹中查找 ejs 文件?
- typescript - 为预实例化的类创建类型
- mysql - TRIGGER 中的 MySql 语法错误:我的触发代码中的错误是什么?
- java - 整除数的出现问题
- python - AttributeError:“pygame.Rect”对象没有属性“up”
- javascript - Apollo GraphQL Mutation 为列表中的每个项目单独加载