javascript - 使用 Node JS 将 Uint8Array 转换为 Stream

标签 javascript arrays node.js stream

将原生 JavaScript Uint8Array 转换为可读或转换 Stream 的最佳方法是什么?

我想出了如何将 Uint8Array 变成缓冲区,不确定这是否有帮助:

var uint8array = new Uint8Array();
var buffer = new Buffer(uint8array);

最佳答案

standard way将是用 _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);

但是,您也可以使用 event-streamreadArray 方法:

var es = require('event-stream');
var data = [1, 2, 3, 4];
var myStream = es.readArray(data);

myStream.pipe(somewhere);

关于javascript - 使用 Node JS 将 Uint8Array 转换为 Stream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32192287/

相关文章:

javascript - 特定条件下的 Angular2 表单验证

javascript - Ajax - jQuery 和 Ajax 错误/不工作

javascript - 保持node.js列表的顺序

java - 用光标、Viewpager 中的数据填充数组

c++ - 将双数组转换为 double 结构

c - 向数组中插入一个值,并根据值c排列数组

node.js - 无法加载 'endpoint' : Request header field If-Modified-Since is not allowed by Access-Control-Allow-Headers in preflight response

javascript - 在 express 和 ejs 中使用 socket io

node.js - 如何在 Angular 2中进行身份验证

javascript - 如何在 xpath 1.0 中选择第 n 项?