Несколько каналов в событии открытия writeStream дают неопределенное

Я загружаю файл с URL-адреса, а затем хочу записать метаданные для этого файла в целевой поток только после того, как я убедился, что целевой файл создан (т.е. после успешного завершения fs.createWriteStream (path)). Итак, у меня есть использовал событие "open" доступного для записи потока, чтобы продолжить. Тем не менее, этот код дает мне ошибку именно на втором канале:

Cannot call method 'pipe' on undefined

Помимо этого, есть еще код, который использует вычисленные здесь хэши. Но почему-то я застрял с этой ошибкой на данный момент. Я долго боролся с этим. Любая помощь / указатели очень ценятся.

Также я попытался запустить пример

var fs = require('fs');
var digestStream = require('digest-stream')
callHandle();


function callHandle(){
   var stream  = request.get(url)
   var result = {}
   handle(reader, result)
}

function handle(reader,metadata){
const writer = fs.createWriteStream('pathToFile');
writer.on('open', function(){
    reader.pipe(
        digestStream('sha1', 'hex', function(digest, length) {
            result.sha1 = digest;
            result.size = length;
        }))
        .pipe(
            digestStream('md5', 'hex', function(digest) {
                result.md5 = digest;
            })
        ).pipe(writer)
   })
  }

0 ответов

Другие вопросы по тегам