Javascript 使用节点JS将Uint8Array转换为流

Javascript 使用节点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

将本机JavaScript
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作为测试。是我做错了什么,还是这个坏了?