gpt4 book ai didi

javascript - 如何获取 Node JS Stream 中数据的大小

转载 作者:行者123 更新时间:2023-12-05 05:47:45 25 4
gpt4 key购买 nike

所以我正在使用这个 npm libraryStream 的形式返回 SoundCloud 音乐。但是经过一段时间寻找答案,我无法得到答案。我搜索并发现不可能在流中获取数据的完整 大小。但是,有没有办法让我获取该流中数据的大小,因为我计划使用该大小来在我的应用程序中实现下载进度。非常感谢。

来自图书馆文档:

const scdl = require('soundcloud-downloader').default
const fs = require('fs')

const SOUNDCLOUD_URL = 'https://soundcloud.com/askdjfhaklshf'
const CLIENT_ID = 'asdhkalshdkhsf'

scdl.download(SOUNDCLOUD_URL).then(stream => stream.pipe(fs.createWriteStream('audio.mp3')))

一切似乎都很完美,但我无法计算回调中返回的 stream 实例中可用的字节数

最佳答案

是的,如果 API 返回一个流,您可以在阅读时自行计算大小。您没有指定您使用的是哪个库,但如果它返回一个流,您可以在数据 block 进入时将其大小加起来。

例如(直接改编自 Node.js 文档):

// get the stream from some API.
const readable = getReadableStreamSomehow();
let readBytes = 0;


readable.on('data', (chunk) => {
console.log(`Received ${chunk.length} bytes of data.`);
readBytes += chunk.length;
});

readable.on('end', () => {
console.log('All done.');
});

关于javascript - 如何获取 Node JS Stream 中数据的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70921128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com