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
。
为什么 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
。