Записать в NodeJS набор файлов асинхронно

96
30 сентября 2019, 04:40

В приложении NodeJS есть необходимость асинхронной записи множества файлов. Пытаюсь делать так:

for (var l = 0; l < self.contentHyperLinks.length; l++) {
     var _nameChapter = config.out_folder +      getNameChapter(self.contentListItems[l]);
     var chapter_stream = Fs.createWriteStream(_nameChapter); // запись заглушки html
     var writeStreamAsObservable = Rx.Observable.bindCallback(
        chapter_stream.once('open', function (fd) {
      chapter_stream.write(self.contentHyperLinks[l]);
      chapter_stream.end();
    })
  );
  self.Observables.push(writeStreamAsObservable);
}
  const observable = Rx.Observable.forkJoin(self.Observables);
  observable.subscribe(
  () => { },
  err => { },
  () => console.log('This is how it ends!')
    );

При выполнении приложения происходит ошибка

_stream_writable.js:357
  var len = state.objectMode ? 1 : chunk.length;
                                    ^
 TypeError: Cannot read property 'length' of undefined
   at writeOrBuffer (_stream_writable.js:357:42)
   at WriteStream.Writable.write (_stream_writable.js:290:11)
   at WriteStream.<anonymous> (D:\projects\webHelp\projects \100219_dev_rxjs_compat\src\ContentReader\content-reader.js:94:26)
   at Object.onceWrapper (events.js:315:30)
   at emitOne (events.js:116:13)
   at WriteStream.emit (events.js:211:7)
   at fs.open (fs.js:2170:10)
   at FSReqWrap.oncomplete (fs.js:135:15)

ЧТо я делаю не так ? Насколько вообще идея правильна асинхронной записи файлов для NodeJS ? Спасибо.

READ ALSO
Копирование текста из input

Копирование текста из input

Необходимо захватить текст из input и вставить его в spanРанее использовал функцию

112
Не работает функция play() на мобильных

Не работает функция play() на мобильных

Нужно при загрузке страницы в iframe воспроизводить звуковой файлНа ПК всё работает, на мобильных устройствах (Chrome, Safari) звука нет

117
getBoundingClientRect не коректная работа с zoom [закрыт]

getBoundingClientRect не коректная работа с zoom [закрыт]

Когда я прошу getBoundingClientRect у img то left right top bottom возвращаются некорректные данные то есть при движении картинки в право left right уменьшаются (тоже...

122