【发布时间】:2019-07-09 01:33:56
【问题描述】:
我正在尝试跟踪从读取流到写入流的管道进度,以便向用户显示进度。
我最初的想法是在发出data 事件时跟踪进度,如下所示:
const fs = require('fs');
let final = fs.createWriteStream('output');
fs.createReadStream('file')
.on('close', () => {
console.log('done');
})
.on('error', (err) => {
console.error(err);
})
.on('data', (data) => {
console.log("data");
/* Calculate progress */
})
.pipe(final);
但是我意识到仅仅因为它被阅读,并不意味着它实际上是被写的。如果pipe 被删除,则可以看到这一点,因为data 事件仍会发出。
在使用 Node.js 管道时如何跟踪 write 进度?
【问题讨论】:
-
如果它为他的线程添加了任何有意义的值,您可能需要查看 node.js 缓冲区
标签: javascript node.js progress-bar