84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
odi
如图,我用了async的顺序执行,但是findone 和update 也是异步的,代码这样写的话,我只能更新一条记录,其实应该更新条的,rows的长度是4
怎么写才能保证每条都插入呢
业精于勤,荒于嬉;行成于思,毁于随。
在执行成功update以后一定要调用一下callback函数,否则不会执行rows数组中的下一条。另外无论是findOne还是update失败,也就是有err,那么一定要执行callback(err)。
代码差不多改成这样:
db.findOne({uuid: row.uuid}, function(err, doc) { if(err) { callback(err); } else { db.update(..., function(err, num) { console.log(err); callback(err); }); } })
参考我的一篇相关博客:http://xxgblog.com/2015/12/22/nodejs-async-mysql/
在执行成功update以后一定要调用一下callback函数,否则不会执行rows数组中的下一条。
另外无论是findOne还是update失败,也就是有err,那么一定要执行callback(err)。
代码差不多改成这样:
参考我的一篇相关博客:http://xxgblog.com/2015/12/22/nodejs-async-mysql/