说在前面
nodejs 读取数据库是一个异步操作,所以在数据库还未读取到数据之前,就会继续往下执行代码。
最近写东西时,需要对数据库进行批量数据的查询后,insert到另一表中。
说到批量操作,让人最容易想到的是for循环。
错误的 for 循环版本
先放出代码,提前说明一下,在这里封装了sql操作:sql.sever(数据库连接池,sql语句拼接函数,回调函数)
for(let i=0;i
sql.sever(pool,sql.select(["name"],"registryinformation",["xuehao="+sql.escape(views.xuehao[i])]),function(data){
sql.sever(pool,sql.insert("personnelqueue",["xuehao","name","selfgroup","time"],[sql.escape(views.xuehao[i]),data[0].name,selfgroup,'NOW()'],true),function(){
let allGroup = ['Android', 'ios', 'Web', '后台','产品'];//这里是邮件相关代码
let group = allGroup[selfgroup - 1];
let mailmsg = "您好," + group + "组通过人员表已提交,请您尽快审核ÿ