async.each()循环内的同步代码是顺序执行还是并行执行?

时间:2019-01-17 13:05:27

标签: node.js asynchronous async.js

如果我在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之前并行执行?

0 个答案:

没有答案