async.forEach(vsr.vehicles, function(vsr_vehicle, callback){
pjCustom.vehicleJson(vsr_vehicle, function(vehicleInitialize){
Vehicle.find({ where: { vehicleID: (vsr_vehicle.vehicleID).toString().trim() } }).success(function(vehicleFound){
if(vehicleFound){
//Code Logic is working fine.
}else{
vehicleBuild.save().success(function(vehicleNew){ // To create new vehicle of updated vsr
var vehicleBuild = Vehicle.build(vehicleInitialize)
pj.log("Update vehicle ............................")
temp.push(vehicleNew.vehicleID)
})
}
})
})
callback()
},function(){
res.send(204)
})
//vehicleJSON
exports.vehicleJson = function(vsr_vehicle, callback){
pjCustom.getVehicle(vsr_vehicle, function(status, vehicleId){
if (status == true) {
vsr_vehicle.vehicleID = vehicleId
callback(
{ 'vehicleID':vsr_vehicle.vehicleID).toString().trim(),'vsr_id':vsr_vehicle.vsr_id})
}
})
}
//getvehicle
exports.getVehicle = function(vsr_vehicle, callback){
if(vsr_vehicle.vehicleID !== undefined){
callback(true, vsr_vehicle.vehicleID)
}else{
Vehicle.find({ where: { 'vsr_id': vsr_vehicle.vsr_id },
attributes: ['id', 'vehicleID'],'order': 'id DESC', 'limit': '1'
}).success(function(vehicles){
var temp = (vehicles.vehicleID).split("-")
var newvehicleId = temp[0]+"-"+temp[1]+"-"+(parseInt(temp[2])+1)
callback(true, newvehicleId)
})
}
}
說明:Async.foreach迭代停止forcely直到第一次迭代執行
同時插入從vsr_vehicle記錄。我需要檢查vehicleID是否存在,如果不存在,它將獲取它將創建一個新的Id。 考慮這個代碼是用於更新車輛以及插入另外的「兩個」新車輛。如何管理異步進程。插入新車輛。 它不會等待第一次迭代的完成,並且正在爲vehicleJson和兩輛新車輛生成相同的vehicleID。建議我完成這個挑戰。
我的代碼顯然寫在這裏。
請在閱讀之前請求複製代碼並粘貼到任何JS編輯器中,您肯定會理解的比我的解釋更多。
建議要完成上述任務。我有多個任務。但是我仍然在很長一段時間裏圍繞這項任務奔波。幫幫我。 –