问题标签 [node-streams]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Uint8array 到 nodejs 中的可读流
我正在使用带有角度前端的节点 js api 服务。我有一个功能,我需要将一些文档从谷歌驱动器迁移到天蓝色存储。我已经在 node.js 中实现了 azure blobService交互。我使用 XHR 请求从谷歌驱动器以角度下载文档,将其转换为 Uint8array,然后将其传递给节点 js 服务以上传到 azure。我正在使用blobService.createBlockBlobFromStream()方法上传到 azure。这需要一个可读流作为输入参数。我是节点 js 和节点流的新手。如何将我的 Uint8array 对象转换为可读流?如果不是 Uint8array,我可以使用其他类型来简化转换吗?我已经粘贴了下面的代码。提前感谢所有帮助...
角码
Node.js 代码
node.js - 在生成过程输出时将其写入响应
我有一个产生大量输出的后台进程。我想在它们可用时将输出发送给客户端。我的期望是客户端将发送一个 HTTP GET/POST 请求,服务器打开一个连接keeps it alive
,然后服务器保持流数据可用。
真实世界示例:当您在 AWS/Heroku/GoogleAppEngine 中运行测试或 shell 命令时,它会实时显示输出,就好像该命令在我的本地计算机上运行一样。他们是怎么做到的?
服务器:在此示例服务器中,该进程每秒生成一条消息。
客户端:客户端应该在数据可用时接收数据,即一个接一个。但是输出当然是我所期望的,整个数据被一次收集并发送回客户端。
我对NodeJS很陌生,但我希望也许我可以将某种形式
writable stream
返回给客户端,并且当数据在服务器端写入此流时,客户端会在其端接收它吗?
node.js - 如何通过管道传输到作为缓冲区而不是文件的 Node.js 流?
我一直在到处寻找,所有的例子都导致了fs.createWriteStream
这不是我想要的。
我正在使用该archiver
程序包,并希望使用管道传输到不是archive.pipe()
文件的可写流,而是可以用来发送到S3 存储桶的缓冲区。如何设置可以通过管道传输的缓冲区?s3.putObject
当我运行下面的代码时,我得到“错误:未实现”。
node.js - 将流写入缓冲区对象
我有一个从音频源读取的流,我正在尝试将其存储到Buffer
. 从我读过的文档中,您可以使用而不是文件路径pipe
将流转换为一个。fs.createWriteStream(~buffer~)
我目前正在这样做:
但是当我运行它时,它会抛出一个错误,Path: must be a string without null bytes
说明文件系统调用。
如果我误解了文档或遗漏了一些明显的东西,请告诉我!
javascript - Sails.js 将密钥和数据流式传输到 Angular
我有一个角度前端,它将来自sails 后端(使用sails-mysql 适配器)的数据填充到ui-grid 中。该数据集很大,在页面显示包含任何数据之前需要一段时间才能加载。
我有从风帆启动和运行流式传输的基础知识:
到目前为止,这会将每个单独的数据从模型流式传输到前端。我正在使用 angular-oboe 来消耗这个流:
本质上,数据的节点似乎以相同的顺序出现,所以我只是跟踪我收到了多少节点并以这种方式构建对象。然后我将每个对象推入一个数组中以在 uigrid 中使用。
例如,find() 返回的数据是:
这适用于 angular 和 uigrid。但是通过流我会得到:
这并不理想,尤其是在模型发生变化时。有没有办法发送密钥而不仅仅是值?或者也许从流中发送 JSON?就像是:
谢谢!
node.js - Nodejs 中的中间件流水线
我正在编写一个向公共 API 端点发出 API 请求的后端服务。API 的响应以 JSON 格式发送。我正在使用 request.js 进行 API 调用,并将实例 request.Request 返回到任何代码(在本例中,是 Express.js 中的路由处理程序)。路由处理程序只是将 API 调用的响应“管道”回请求路由的客户端。我对上述情况有以下担忧:
实现实现 Stream 接口的业务逻辑的最佳方法是什么,我可以直接将 API 返回值传递给中间件函数(基本上,在返回值上调用管道方法,并在将中间件流式传输到之前传递各种逻辑的中间件)客户)?
我知道传递给 Express 中每个路由处理程序的 Express.Response 实例只使用一次,如果它们要作为参数传递给其他函数,则必须重复。与(1)中描述的方法相比,这种方法是否更好?
为了避免混淆讨论,我提供了我正在处理的代码片段(代码没有语法错误,也可以正常运行):
APIConnector.ts:
应用程序.ts
node.js - process.stdin - 结束和结束事件之间的区别
说到,有人知道和事件process.stdin
之间的区别吗?end
finish
看起来像'finished'事件首先被调用,'end'事件随后被触发。这些事件更准确地意味着什么?
是双工process.stdin
流,因为它触发了两个事件?