Я начинаю с NodeJS, и я заблокирован этой проблемой более двух дней! если кто-то может помочь, я буду очень благодарен!
Я пытаюсь получить результат запроса, затем сопоставить все результаты и применить другой uery, а затем отобразить оба результата запроса. вот мой код:
app.get('/home/', function(req, res) {
let sessionUser = req.session.user;
if(sessionUser) {
user.findMemosByUserId(sessionUser.id, function(result) {
result.forEach(function(memo){
//get users having acces to each memo
user.findUsersByMemoId(memo.id, function(result2){
var obj = {};
obj[memo.id] = [];
result2.forEach(function(res){
obj[memo.id].push(res.username);
});
req.session.sharings.push(obj);
console.log(req.session.sharings); //it shows this
});
});
console.log(req.session.sharings); //it shows this first
res.render('home.ejs', {memos: result, sharingsData: req.session.sharings});
});
return;
}
res.redirect('/');})
тогда проблема в том, что он рендерит страницу перед циклом и получает каждую заметку пользователям (пока req.session.sharings еще пуст)
результат входа в систему :
[ ]
[{ },{ }] // with my data
Кто-нибудь знает, как я могу заставить:
res.render('home.ejs', {memos: result, sharingsData: req.session.sharings});
ждать до конца каждого l oop !!!!