В следующем коде я хочу обрабатывать несколько файлов одновременно, не дожидаясь конца друг друга. По этой причине я сначала прочитал файлы (массив), а затем обратный вызов вызывается для обработки элемента этого экземпляра массива.Javascript for-loop async Выполнение файла
Я нашел проблему в этом javascript-коде, точно в async for-loop, где этот процесс выполняется как код синхронизации вместо async.
var array = ['string1','string2','string3','string4'];
function processArray (arrayString,callback){
//Read file Example.csv thought sync way
try{
var ifs = new InputFileStream('Example.csv','utf8');
table = ifs.read(0);
ifs.close();
}catch(err){
console.log(err.stack);
}
callback(arrayString, table);
}
//Async for
for (var i=0; i<array.length; i++) {
processArray(array[i], function(arrayString, table){
//Here process the file values thought async way
console.log('processed_'+i);
});
}
Что заставляет вас думать, что эта конструкция должна вести себя асинхронно? – Cerbrus
Я предполагаю, что этот пример является правильным способом реализации async для цикла. Вы знаете какой-либо другой способ сделать это? – JosepB
То, что я намекал, это то, что это не асинхронный. Что заставляет вас думать, что это так? – Cerbrus