尝试去:
以下是我试图运行的代码。
models.user.findAll({})
.then(function (users) {
for (var i = 0; i < users.length; i++) {
var userName = users[i].name;
var userEmail = users[i].email;
models.trip.findOne({ attributes: [ [userName, 'name'], [userEmail, 'email'], 'id' ], where: { userId: users[i].id } })
.then(function (trip) {
if (trip == null) {
//Send Emails
}
});
}
})
.catch(function (error){ // enter code here
console.log(">>>>>",error);
});
由于回调,第二个 Sequelize 无法正常运行。
你能就如何处理这个问题提出建议吗?是否使用 asyncawait/coyield?
最佳答案
例如,您应该使用 console.log 进行调试。首先你应该尝试打印你的第一个回调结果,可能是数据库连接没有正确配置,可能是表为空。有很多原因。使用 .forEach 方法而不是 'for' 循环更舒服
array.forEach((item, i, arr)=>{
///....
})
关于node.js - 在 then() 中对查询进行序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45437100/