Код ниже имеет недостаток, так как я получаю массив undefined
:
let filters = [];
async function getFilters(tiers) {
return await Promise.all(
tiers.map(async t => {
let id = new ObjectId(t.filter);
filters.push(
await conn.collection('TierScheduleFilter').find({
_id: id
}).toArray(function(err, filter) {
if (err || !filter) {
reject('no filter || error');
}
return filter;
});
);
});
);
}
await getFilters(tiers);
console.log(filters); // 4 filters => [ undefined, undefined, undefined, undefined ]
Код должен получить все фильтры, но все его неопределенные значения.