如果我在node.js中使用async.each(),那么同步代码是按顺序执行还是按迭代并行执行?
作为示例,我循环使用数字数组,如果新数组不包含要迭代的数字,则将数字推入新数组:
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
之前并行执行?