我想异步迭代一个数组以解除阻塞执行。我正在使用 caolan/async 来实现这一点。测试此代码时:
var ASync = require('async');
var arr = [];
for (var i = 0; i< 10; i++) {
arr[i] = i;
}
var buf = "howdy";
ASync.forEach(arr, function(item, callback) {
buf += item;
callback();
}, function(err) {
console.log(buf); // in the end
});
buf += "finished";
它显示了这个结果:
howdy0123456789
我认为它应该显示
howdyfinished0123456789
因为我希望异步库推迟执行。但为什么不是呢?