1.当data.length=3时,数据库中却只存入了2条数据,是因为回调函数写错了吗?
function insertData(data){
var events = [];
var count = 0;
for (var i = 0; i < data.length; i++) {
(function(i){
var obj = data[i];
function insert(callback){
count++;
console.log(count);
_getNewSN({
query : {category : "ProjectOID_" + obj.ProjectOID},
success : function(sn){
var param = [
parseInt(obj.FunctionCode) ,
parseInt(obj.StartRegister) ,
parseInt(obj.Length) ,
obj.Description,
obj.ProjectHardwareOID ,
sn.SN];
var sql = "insert into " +
"plcModbusTCPDB(FunctionCode,StartRegister," +
"Length,Description,ProjectHardwareOID," +
"DataID) values(?,?,?,?,?,?)";
yjDBService.exec({
sql:sql,
parameters : param,
success : sender.success,
error : sender.error
});
callback(null,obj);
},
error : sender.error
})
}
events.push(insert);
})(i)
}
async.waterfall(events,function(err,result){
if(err){
sender.error(err);
}else{
sender.success(result);
}
})
}### 问题描述
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
可能有一次不能够执行到success方法内。
请问:_getNewSN这个方法的error为什么不调用callback