gpt4 book ai didi

mysql - Node.js 不等待 MySQL 服务器发送应答,继续异步工作

转载 作者:行者123 更新时间:2023-11-28 23:26:55 25 4
gpt4 key购买 nike

随意打印,不要等待 MySQL 发送回复。

var mysql=require('mysql').createConnection({
host:'localhost',user:'root',password:'',database:'dbname',port:3306
});
mysql.connect(function(error){if(error){throw error;}else{console.log('MYSQL SERVER [OK]');}});

console.log('// INI //');

var sql='SELECT * FROM sys_users';
mysql.query(sql,function(error,rows){
if(!error){
for(i=0;i<rows.length;i++){
if(i<rows.length-1)
console.log(rows[i].username);
else console.log(rows[i].username);
}
}else console.log('Error');
});

console.log('// END //');

mysql.end();

必须打印:

  1. MySQL 服务器 [确定]
  2. //INI//
  3. 列表项
  4. //结束//

但仍然打印:

  1. //INI//
  2. //结束//
  3. MySQL 服务器 [确定]
  4. 列表项

最佳答案

这就是 Node.js 的本质 - 回调和异步代码处理。如果您想在返回数据库响应后运行 come 代码,请将该代码放在回调中:

mysql.query(sql,function(error,rows){
if (!error){
for(i=0;i<rows.length;i++){
if(i<rows.length-1)
console.log(rows[i].username);
else
console.log(rows[i].username);
}
} else {
console.log('Error');
}

/* Code to run. Move it to first `if`, if you want to run it only, when no error will occur. */
console.log('//END //');

});

mysql.end();

关于mysql - Node.js 不等待 MySQL 服务器发送应答,继续异步工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38945606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com