gpt4 book ai didi

javascript - 有效地更改 Javascript 或 Node.js 中数组的大小

转载 作者:太空宇宙 更新时间:2023-11-04 01:08:06 24 4
gpt4 key购买 nike

在我的node.js代码中,有一个缓冲区数组,每次通过作为TCP客户端的node.js与另一个TCP服务器之间的TCP连接接收图像时,我都会将接收到的图像的内容存储在其中:

var byBMP = new Buffer (imageSize);

但是图像的大小imageSize每次都不同,这使得byBMP的大小也随之变化。这意味着类似的事情会不断发生:

 var byBMP = new Buffer (10000);
.... wait to receive another image
byBMP = new Buffer (30000);
.... wait to receive another image
byBMP = new Buffer (10000);
... etc

问题:

有没有更有效的方法通过BMP调整数组大小。我调查了这个:How to empty an array in JavaScript?这给了我一些关于清空数组的有效方法的想法,但是为了调整它的大小,我需要你们的 comments.node.js

最佳答案

有效的方法是使用 Streams 而不是缓冲区。缓冲区会将图像内容保留在内存中,但扩展性不太好。

相反,只需将下载流直接通过管道传输到文件输出:

imgDownloadStream.pipe( fs.createWriteStream('tmp-img') );

如果您将 img 保留在内存中以执行转换,则只需在流缓冲区部分通过时对其应用转换即可。

关于javascript - 有效地更改 Javascript 或 Node.js 中数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21005252/

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