実行のブロックを解除するために、配列を非同期的に反復処理したいと考えています。私はそれを達成するために 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
非同期ライブラリが実行を延期することを期待しているためです。しかし、なぜそうではないのですか?