【发布时间】:2016-05-21 04:54:49
【问题描述】:
我解析一个 json 对象,对于每个元素,我需要执行许多查询。 首先,“选择”查询,根据结果,我执行插入或更新。 我想使用 async.js 和 knex.js 问题是执行顺序不是搜索顺序
async.each(newContent,function(e){
//var e=JSON.stringify(element),
var z=-1,
devicepresenceId = e.device_presence_id;
//console.log(e);
async.waterfall([
function(cb) {
knex('jos_joomrh_event_employee_hours_presence')
.whereRaw('device_presence_id=?', devicepresenceId)
.select('id', 'applied_at', 'applied_at_end')
.debug()
.then(function (rows) {
console.log(rows);
z = _.keys(rows).length;
console.log('rows0', z);
cb(null,z);
})
.catch(function (e) {
console.log(e)
reject(e)
})
cb(null,z);
},
function(z,cb){
console.log('z',z);
if (parseInt(z)==0)
{
console.log('insertHoursPresence');
//insertHoursPresence(e)
}
else{
console.log('updateHoursPresence');
//updateHoursPresence(e)
}
cb(null,'two')
}
],
function(err,z){
if(err)console.log(err);
console.log(z);
}
)}
)}
事实上;它执行了第二个函数和 cb 函数,并在第一个函数之后使用 knex。: 谢谢你的帮助 姆杜克
【问题讨论】:
标签: mysql node.js asynchronous