Вы можете использовать async/await
, чтобы дать обещание подождать, если вам нужно, чтобы find
запускался один за другим.
Current.senders.forEach((sender) => {
const UserList = await Meteor.users.findOne({"_id":sender});
console.log(UserList.profile.name);
});
Либо вы можете использовать Promise.all
запустить все ваши find
одновременно и затем обработать возврат.
const UserLists = await Promise.all(Current.senders.map(sender => Meteor.users.findOne({ "_id": sender })));
или
Promise.all(Current.senders.map(sender => Meteor.users.findOne({ "_id": sender })))
.then((UserLists) => {
// Deals with ok
})
.catch((err) => {
// Deals with error
});
UserLists
здесь содержит все find
результаты в массиве.