我想建立一个现有的解决方案,以找出数组中所有元素成功插入的时间。
Web SQL Database + Javascript loop
insert: function(configurationVOs) {
var self = this;
this.database.transaction(function(transaction){
var total = 0;
for(var i=0; i<configurationVOs.length; i++) {
(function(configurationVO) {
var params = [configurationVO.id, configurationVO.key, configurationVO.value, configurationVO.type];
transaction.executeSql(self.configurationInsertSQL, params, self.insertComplete, self.insertError);
})(configurationVOs[i]);
}
});
},
如果有人可以在这个for循环/函数中提供一个优雅的自包含解决方案,可以在成功时进行单个回调。
答案 0 :(得分:0)
我的尝试,请编辑/建议任何改进。
insert: function(configurationVOs) {
var self = this;
this.database.transaction(function(transaction){
var total = 0;
for(var i=0; i<configurationVOs.length; i++) {
(function() {
var params = [configurationVOs[i].id, configurationVOs[i].key, configurationVOs[i].value, configurationVOs[i].type];
transaction.executeSql(self.configurationInsertSQL, params, function(transaction, resultSet){
if(++total == configurationVOs.length) {
self.insertComplete();
}
}, self.insertError);
})();
}
});
},