Если я использую async.each () в файле node.js, выполняется ли синхронный код последовательно или параллельно на одну итерацию?
В качестве примера я зацикливаю массив с числами и помещаю числа в новый массив, если новый массив не содержит повторяемого числа:
const async = require('async');
const arr = [1, 2, 3, 3, 4];
const newArr = [];
async.each(arr, (nr, nrCB) => {
if (newArr.indexOf(nr) === -1) {
newArr.push(nr);
callToAsyncFunction(() => {
nrCB();
});
} else {
nrCB();
}
}, () => {
console.log(newArr);
});
Есть ли способ, которым newArr
может закончиться двумя 3: s, потому что if (newArr.indexOf(nr) === -1)
выполняется параллельно до того, как любой из 3: s был помещен в newArr
?