Я пытаюсь получить идентификаторы из одного вызова с помощью мангуста. Впоследствии каждый из этих идентификаторов используется для создания другого вызова, который возвращает несколько объектов. Я пытаюсь извлечь все эти объекты.Подождите, чтобы разрешить несколько обратных вызовов
Моя текущая попытка выглядит примерно так:
var members;
var memberTimes = [];
// Use the Group model to find a specific group
Group.find({
members: {
$elemMatch: {
$eq: req.user._id
}
},
_id: req.params.group_id
}, function(err, group) {
if (err) {
res.send(err);
} else if (!group) {
//res.send(new Error("User not in group or it does not exist"));
}
members = group[0].members;
for (var member of members) {
// Use the Time model to find a specific time
Time.find({
user_id: member
}, function(err, times) {
if (err) {
res.send(err);
}
for (var time of times) {
memberTimes.push(time);
}
});
}
//on completion of all above code, execute res.json(memberTimes);
});
Это, однако, не работает, потому что я не жду всех обратных вызовов от времени # находке. Я смотрю на использование обещаний, но я не уверен, как именно заставить его работать.
Кто-нибудь знает, как это можно заставить работать?
Спасибо, Daniel
Спасибо @DVassilev за функцию 'find', хотя комментарий был бы лучше, чем предлагать редактирование (это немного изменилось для большинства рецензентов). – Bergi
Без проблем, извините. Существует также небольшая ошибка с вашим кодом, поэтому я предложил изменить с исправленной версией. Спасибо. @Bergi – DVassilev