我需要在异步循环中进行两个数据库查询。我使用node-mysql
和async.js
。
这是我的代码示例:
async.every(firstArray, (first, firstCB) => {
async.every(secondArray, (second, secondCB) => {
async.every(thirdArray, (third, thirdCB) => {
model.getUsers(third, (res) => {
model.insert(res.stuff, () => {
thirdCB()
})
})
}, (err) => {
secondCB()
});
}, (err) => {
thirdCB()
})
}, () => {
firstCB()
}, () => {
// done
})
迭代过程很好。我的问题是我在执行两个查询的最后一个循环:console.log .. considering thirdArray.length === 3
..getting users
..getting users
..getting users
..inserting stuff
..inserting stuff
..inserting stuff
为什么呢?我最近在第二次查询后致电了ThirdCB。
我什至尝试使用async.waterfall([getUser, insert], thirdCB)
,但结果相同。
感谢您的帮助!