resourcesList.map( async ...
map
последовательно для каждого item
из resourcesList
запускает функцию-обработчик, которая возвращает промис и запускает на выполнение функцию-аргумент промиса, которая в свою очередь выводит "-" и доходя до await page.getResource(e);
встает на "паузу", ожидая результата выполнения запроса page.getResource
, передавая тем самым управление следующей задаче в eventloop, которая в вашем случае является функцией-обработчиком для следующей итерации resourcesList
. Таким образом map
проскакивает все итемы в resourcesList
возвращая массив промисов для Promise.all
(и выведя в консоль кучу "-"). Далее начинают подтягиваться ожидающие выполнения запросы page.getResource
и функции стоящие на паузе размораживаются, выводя в консоль "+". При этом следует понимать что порядок снятия с паузы может не соответствовать порядку следования элементов в resourcesList
, порядок будет зависеть только от момента завершения запросов page.getResource
// так нельзя
aaa()=>{
console.log(111)
}
// а так можно
aaa = ()=>{
console.log(111)
}
// можно еще и так (но это бессмысленно)
()=>{
console.log(222)
}
// и даже так (самовызывающаяся функция, иногда используется для изоляции области видимости ее тела)
(()=>{
console.log(333)
})()
const filterList = arr.filter(items =>
Object.values(items).some(element => {
if( typeof element !== "string" ) return false;
return element.indexOf("Egor") > -1
})
);
const filterList = arr.filter(items => {
console.log(items)
return Object.values(items).some(element => element.indexOf("Egor") > -1)
});
const filterList = arr.filter(items =>
Object.values(items).some(element => {
console.log(typeof element);
return element.indexOf("Egor") > -1
})
);