我正在使用Node.js和Sequelize(使用Postgres後端)構建網站。我有一個查詢使用外鍵返回多個對象,並且我想傳遞給外鍵列表引用的對象列表。同步執行Sequelize查詢
在這個例子中,Attendances包含Hackathon鍵,我想返回一個黑客馬拉松列表。由於代碼是異步的,當然以後的事不會在節點工作:
models.Attendance.findAll({
where: {
UserId: req.user.id
}
}).then(function (data) {
var hacks = [];
for (var d in data) {
models.Hackathon.findOne({
where: {
id: data[d].id
}
}).then(function (data1) {
hacks.append(data1);
});
}
res.render('dashboard/index.ejs', {title: 'My Hackathons', user: req.user, hacks: hacks});
});
有沒有辦法做到在同步方式查詢,這意味着我不回的觀點,直到我有「黑客」名單充滿了所有的對象?
謝謝!
你嘗試異步模塊瀑布?那可以幫助你 – abdulbarik
找到循環中的一條記錄是一種可怕的設計方式。它應該只是一個查詢。 –