处理Mongoose I/O 在循环中异步的解决方式

来源:互联网 发布:淘宝导航条背景色代码 编辑:程序博客网 时间:2024/06/06 01:09

最近做一个小软件,将excel表的数据导入到软件中,excel表的数据处理成数组,通过循环,把数组中的元素依次添加入mongoDB数据库中,但是在这过程中,发现一个很严重的问题,Mongoose I/O是异步处理的,如果用循环,I/O是在循环完之后再处理的,
举个栗子:

for(var i=0;i<5;i++){    var a= '数据1'    doIO()  //进行I/O操作....}

在这个循环里,I/O 操作异步,当循环完5次之后才进行doIO操作,不是没循环一次操作一次,这与我想实现的不一样,如何处理这种异步,找了好多资料,发现用async可以解决,参考这篇博客:
https://www.cnblogs.com/yangluping/p/6504904.html

利用async.whilst,将I/O操作放入内循环中,便可以实现

原创粉丝点击