Javascript 使用节点JS将Uint8Array转换为流
将本机JavaScriptJavascript 使用节点JS将Uint8Array转换为流,javascript,arrays,node.js,stream,Javascript,Arrays,Node.js,Stream,将本机JavaScriptUint8Array转换为可读或转换流的最佳方法是什么 我知道如何将Uint8Array转换为缓冲区,但不确定这是否有帮助: var uint8array = new Uint8Array(); var buffer = new Buffer(uint8array); 方法是使用\u read方法定义可读流: var Stream = require('stream'); var myStream = new Stream.Readable(); var i = 0
Uint8Array
转换为可读或转换流的最佳方法是什么
我知道如何将Uint8Array转换为缓冲区,但不确定这是否有帮助:
var uint8array = new Uint8Array();
var buffer = new Buffer(uint8array);
方法是使用\u read
方法定义可读流:
var Stream = require('stream');
var myStream = new Stream.Readable();
var i = 0;
var data = [1, 2, 3, 4];
myStream._read = function(size) {
var pushed = true;
while (pushed && i < data.length) {
pushed = this.push(data[i++]);
}
if (i === data.length) {
this.push(null);
}
};
myStream.pipe(somewhere);
var es = require('event-stream');
var data = [1, 2, 3, 4];
var myStream = es.readArray(data);
myStream.pipe(somewhere);
使它对我起作用的是使用了双工
而不是可读
(归功于):
从“流”导入{Duplex};
//或非ES6语法:
//const Duplex=require('stream')。Duplex
let stream=new Duplex();
流推(缓冲);
stream.push(空);
流管(工艺标准);
尝试“标准方式”时出现错误:“TypeError:无效的非字符串/缓冲区区块”。我正在把它输送到process.stdout作为测试。是我做错了什么,还是这个坏了?