2015-06-09 45 views
0

我的代码是:连续和顺序插入的SQLite

var json = [1,2,3,4,5,6,7,8,9]; 
async.forEach(json, function (that, callback) { 
     sqlitedb.run("INSERT INTO mytable (name) VALUES ("+that+")" , function() { 
      console.log(that); callback(); 
     }); 
}); 

回调()插入项目后,放置在。但是当我执行时,我的json项目插入没有序列和结果是这样的:

7 
8 
9 
4 
5 
3 
6 
1 
2 

任何人都可以帮助我。谢谢。

+0

请注意,没有'ORDER BY'子句的查询不能保证有任何特定的顺序。 –

回答

1

您必须使用async.eachSeries:

forEach将并行执行。

async.eachSeries(json, function (that, callback) { 
     sqlitedb.run("INSERT INTO mytable (name) VALUES ("+that+")" , function() { 
      console.log(that); callback(); 
     }); 
}); 
+0

非常感谢@Subburaj – hahamed

+0

@hahamed很高兴帮助你.. – Subburaj