Я просматриваю объект, содержащий локальные файлы, каждый из которых определенно существует, читаю их в буфер и увеличиваю счетчик по завершении каждого из них. Проблема в том, что, несмотря на то, что нужно прочитать 319 файлов, вывод счетчика на консоль редко, если вообще когда-либо, показывает, что он проходит через все из них. Он загадочным образом останавливается где-то в 200-х ... каждый раз по-разному и без каких-либо ошибок.
У меня это работает в электронном проекте, и встроенное приложение работает без проблем на Ma c, но не работает через это л oop на windows! Я недавно обновил все пакеты, прошел через другие области и внес необходимые корректировки, и все приложение работает отлично ... кроме этого, и это сводит меня с ума!
Вот код:
$.each(compare_object, function(key, item) {
console.log(item.local_path); // this correctly prints out every single file path
var f = fs.createReadStream(item.local_path);
f.on('data', function(buf) {
// normally some other code goes in here but I've simplified it right down for the purposes of getting it working!
});
f.on('end', function(err) {
num++;
console.log(num); // this rarely reached past 280 out of 319 files. Always different though.
});
f.on('error', function(error) {
console.log(error); // this never fires.
num++;
});
});
Мне интересно, есть ли кеш, который исчерпывается, или я должен уничтожать буфер каждый раз после 'end', но ничто из того, что я читал, не предполагает этого, и даже когда я пытался, это не имело значения. Многие из примеров ожидают, что вы где-то его разместите, а я нет. В полном коде он создает ha sh полного файла и добавляет его к объекту для каждого из локальных файлов.