继上篇文章之后MySQL管理与node连接之后,进行密码登陆验证时,发现连接sql进行查询时可以查询的到,但是与业务进行整合时由于异步的原因,总是稍慢一步。
调试了一天之后终于使用Promise解决了此问题。
- 首先在项目导入mysql模块:
npm install mysql
- 接下来就是代码了:
var mysql = require('mysql');
let databaseConfig = {
host : 'localhost',
user : 'nodejs',
password : 'password12345',
database : 'product',
};
var sql = {};
sql.query = function(sql,params){
return new Promise(function(resolve,reject){
//每次使用的时候需要创建链接,数据操作完成之后要关闭连接
var connection = mysql.createConnection(databaseConfig);
connection.connect(function(err){
if(err){
console.log('数据库链接失败');
throw err;
}
//开始数据操作
//传入三个参数,第一个参数sql语句,第二个参数sql语句中需要的数据,第三个参数回调函数
connectio