Собираю данные в массив из MongoDB:
let part = []
const crosses = []
codes.forEach(async c => {
part = await Crosses.find({
$or: [{
number1: c.code,
brand1: c.brand
}, {
number2: c.code,
brand2: c.brand
}]
})
for (let i = 0; i < part.length; i++) {
crosses.push(part[i])
}
})
После этой функции forEach массив crosses пуст, но если я делаю console.log(crosses) сразу после цикла for, там есть данные - то есть, все работает как надо. Как вытащить этот массив наружу функции?
Операции то у вас асинхронные, все это дело лучше обернуть в Promise.all
:
const crosses = [];
await Promise.all(codes.map(async (code) => {
part = await Crosses.find({
$or: [{
number1: c.code,
brand1: c.brand
}, {
number2: c.code,
brand2: c.brand
}]
});
for (let i = 0; i < part.length; i++) {
crosses.push(part[i])
}
}));
console.log(crosses);
Или без await
:
const crosses = [];
Promise.all(codes.map(async (code) => {
part = await Crosses.find({
$or: [{
number1: c.code,
brand1: c.brand
}, {
number2: c.code,
brand2: c.brand
}]
});
for (let i = 0; i < part.length; i++) {
crosses.push(part[i])
}
})).then(() => {
console.log(crosses);
});
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Пытаюсь сделать анимационные переходы как во Vuejs для блока с display:none
Как можно сделать такой слайдер? второй день голову ломаю, помогите плиз, мб есть готовые плагины какие-тоКовырял jqueryUI и noUiSlider но так и не победил...
Есть такой кусок кодаЭто табы, и при клике по переключателю страничка подпрыгивает, я допер почему она подпрыгивает, из-за значка #, так вот...
Есть типовой скрипт отправки писем на jQuery HTML: