我正在尝试在Node中进行多个数据库查询和嵌套的foreach函数,但是我无法区分我应该在我的代码中放置promise的位置。我正在使用Sequelize来管理数据库。
我的代码如下:
client.findAll().then((result) => {
result.forEach(item => {
vehHistory.findAndCountAll({where:{
dealerId:item.id,
createdAt:{$gte:priorDate}
}}).then((innerResult) => {
clientArr.push({name: item.name, cars: innerResult.count, balance: innerResult.count*95, id: item.id});
});
});
});
我正在尝试构建promise,以便在foreach循环及其嵌套的数据库调用填充clientArr
后,我可以获取值。
我是否会围绕vehHistory.findAndCountAll
方法放置承诺,然后在推送客户端数组后解析它,还是将承诺放在clientArr.push
方法周围?
来自C#世界的承诺相当新,这对我来说都是相对较新的。
任何反馈都将不胜感激。