Несколько каналов в событии открытия 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)
})
}