首页 > 解决方案 > 我无法让我的异步函数工作

问题描述

所以,我完成了我的 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');
  })();
   

但是我的函数的结果首先返回给我,然后是“开始之前”,最后是“在我的函数之后”。

有人可以澄清为什么会这样吗?

标签: mysqlnode.js

解决方案


推荐阅读