关于 Node.js Stream API 的用法概述

简介: 关于 Node.js Stream API 的用法概述
+关注继续查看

多年来,Node.js 开发人员创建了许多包,其目的是让使用流变得更容易。


什么是 Node.js Stream?


Node.js 应用程序由单个进程运行,无需为每个请求创建新线程。 Node 在其标准库中提供了一组异步 I/O 原语,可以防止 JavaScript 代码阻塞,通常,Node.js 中的库是使用非阻塞范例编写的,使阻塞行为成为异常而不是正常行为。


image


流是数据的集合——就像数组或字符串一样。 不同之处在于流可能不会一次全部可用,也就是说,它们不必一次行加载到内存中。 这使得流在处理大量数据或一次来自外部源的数据时非常强大。


然而,流不仅仅是处理大数据。 它们还赋予了我们代码中可组合性的力量。 就像我们可以通过管道传递其他较小的 Linux 命令来组成强大的 linux 命令一样,我们可以在 Node 中使用流执行完全相同的操作。



image



Node 中的许多内置模块都实现了流接口,下面是一些例子:


image


上面的列表有一些原生 Node.js 对象的示例,这些对象也是可读和可写的流。 其中一些对象既是可读流又是可写流,例如 TCP 套接字、zlib 和加密流。


请注意,这些对象彼此之间也密切相关。 虽然 HTTP 响应是客户端上的可读流,但它是服务器上的可写流。 这是因为在 HTTP 案例中,我们基本上从一个对象 (http.IncomingMessage) 读取并写入另一个对象 (http.ServerResponse)。


另外请注意,当涉及到子进程时,stdio 流(stdin、stdout、stderr)是如何维护逆流类型(inverse Stream Type)的。 这允许开发人员采取一种非常简单的方法,从主进程 stdio 流与这些流进行管道传输。



相关文章
|
2月前
|
JavaScript API
使用 Node.js Stream API 减少服务器端内存消耗的一个具体例子
使用 Node.js Stream API 减少服务器端内存消耗的一个具体例子
15 0
|
3月前
|
JavaScript API
使用Node.js访问API的示例
下面是一个使用Node.js访问API的示例代码:
|
4月前
|
SQL JSON JavaScript
Node.js开发WEB项目后端接口API,基于mysql5.7数据库(小试牛刀)
Node.js开发WEB项目后端接口API,基于mysql5.7数据库(小试牛刀)
|
6月前
|
SQL JavaScript 前端开发
【Node.js实战】一文带你开发博客项目(API 对接 MySQL)
【Node.js实战】一文带你开发博客项目(API 对接 MySQL)
|
存储 JavaScript 中间件
api server(初始化)——node.js后端
api server(初始化)——node.js后端
|
JavaScript 前端开发 API
Node.js 支持 fetch API
Node.js 支持 fetch API
212 0
Node.js 支持 fetch API
|
JavaScript 前端开发 网络协议
Node.js实用的内置API(二)
在构建 Node.js 应用程序时,了解 Node.js 开箱即用的实用程序和 API 有助于满足常见用例和开发需求。在文中《Node.js实用的内置API(一)》介绍了两个,本文继续介绍其他实用内置API。
135 0
|
JavaScript Unix 测试技术
Node.js实用的内置API(一)
在构建 Node.js 应用程序时,了解 Node.js 开箱即用的实用程序和 API 有助于满足常见用例和开发需求。
58 0
|
XML JSON Kubernetes
在 Node.js 中使用 Yaml 编写API文档
在文章《使用Node.js、MongoDB、Fastify 构建API服务》中介绍使用 Swagger 构建 API 文档,编写文档不是那么的顺手,本文介绍另一种编写 API 文档的方式,即使用 Yaml ,将API文档与其实现完全分开。
268 0
在 Node.js 中使用 Yaml 编写API文档
|
NoSQL JavaScript 前端开发
使用Node.js、MongoDB、Fastify 构建API服务
在现代WEB开发中,数据交互是主要需求,那么对于前后端数据交互来说,REST API 就是其中的数据交互设计的一种,如何设计 REST API ? 对 API 体验至关重要,API 设计的好坏直接影响开发效率,这里就不详细展开介绍,如对 API 设计有兴趣可以参阅专栏《布道API》。
332 0
使用Node.js、MongoDB、Fastify 构建API服务
相关产品
云迁移中心
推荐文章
更多