当前位置: 首页 > 后端技术 > Node.js

node-mysql实现异步操作(下)

时间:2023-04-03 12:38:10 Node.js

关于上篇文章node-mysql实现异步操作(上)介绍了如何进行异步操作,本文主要介绍如何封装node-mysql库的基本用法下载https://github.com/mysqljs/mysqlnpminstallmysql--save基本使用这是官方github上的例子//连接配置varmysql=require('mysql');varconnection=mysql.createConnection({host:'localhost',user:'me',password:'secret',database:'my_db'});//连接mysqlconnection.connect();//数据库操作connection.query('SELECT1+1ASsolution',function(error,results,fields){if(error)throwerror;console.log('Thesolutionis:',results[0].solution);});//结束连接connection.end();example从图中可以看出,在对数据库进行操作后,得到的结果全部用在回调函数中,很不符合正常的操作。我们想要的是在回调函数中直接返回结果,然后用一个变量直接获取结果。这个想法是使用Promise对象的resolve参数。在回调函数中,我们获取数据库操作的结果,并对结果进行解析。在async函数中,可以从Promise对象中取出数据。代码实际constmysql=require('mysql');constfind=async()=>{constconnection=awaitmysql.createConnection({host:'',port:'',user:'',password:'',数据库:'',});等待连接。连接();returnnewPromise((resolve,reject)=>{connection.query('SELECT*fromtablename',(error,results,fields)=>{resolve(results);})})}(getData=async()=>{console.log(awaitfind())})()