Async.js 每个继续没有回调

Async.js each continue without callback

为什么 async.js each 不调用 callback

仍然有效
var async = require('async');

var arr = ['a', 'b', 'c', 1, 2, 3];

async.each(arr, function(item, callback) {
  console.log(item);
}, function(error) {
  if (error) console.log(error);
});

因此我可以在终端中看到每个数组项,但据我所知,在调用 callback 之前不应该这样,对吗?

async.each 只是为数组中的每个项目调用 "loop body" 回调。如果它们是异步的,它们将 运行 并发。

您永远不会进入最终回调,因为您的 "asynchronous tasks" 永远处于待处理状态,而无需调用 callback。那是您的代码的实际问题。

如果您不想在上一个项目调用 callback 之前看到下一个项目,您应该改用 async.eachSeries