@adsprosto

Что происходит со stream.read()?

В nodejs недавно и сильно не могу углубиться из-за недостатка документации и перевода к имеющейся, для моей задачи нужно преобразовывать информацию, но столкнулся с такой проблемой:
Написан такой код
stream = fs.createReadStream(path);
stream.on('readable', function() {
var data;
while((data = stream.read(2187)) != null){
fs.appendFileSync('local', data);
}
}).on('end', function() {

}).on('error',function(er){
$('#FileSave').html(er);
}).on('close', function() {
$('#preloader').fadeOut(500);
stream.close();
});
Всё хорошо срабатывает, но в какой-то момент может тупо перестать, берётся файл в 23 мегебайта, поток может сработать на ура, а может где-то "застрять" и не дойти банально до конца, бывали моменты, когда было обработано четверть файла или половина, а порой всё таки он полноценно работает, подскажите, что не так?
Главная цель: брать символы, к примеру, шифровать, записывать в файл.
  • Вопрос задан
  • 203 просмотра
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
var read = fs.createReadStream(path);
var write = fs.createWriteStream('local');

write.on('error', function(err) {
  //ошибка записи
});
read.on('error', function(err) {
  //ошибка чтения
});
read.on('end', function() {
  //завершили чтение и запись
})

//проксируем поток чтения в поток записи
read.pipe(write);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы