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/