2015-06-09 89 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