还好 Streams2 虽然改头换面,但本质上是设计为向后兼容的。 打个比方,如果你同时推送了一条 Streams2 流和一条旧格式的、基于事件发射器的流,Stream2 将降级为旧模式(shim mode)来向后兼容。 但是,如果我们的开发环境使用的是 Node 0.8(且因为某些原因不能升级),但又想使用 Streams2 的API怎么办呢? 或者比如 npm 上的某些开源的工具包,想要拥抱 Streams2 的便利,又想保持对使用 Node 0.8 的用户进行兼容处理,这样又得怎么处理? 通过使用 readable-stream,我们就可以在那些核心里没有 Streams2/3 的低版本 Node 中,直接使用 Streams2/3: var Readable = require('stream
还好 Streams2 虽然改头换面,但本质上是设计为向后兼容的。 打个比方,如果你同时推送了一条 Streams2 流和一条旧格式的、基于事件发射器的流,Stream2 将降级为旧模式(shim mode)来向后兼容。 但是,如果我们的开发环境使用的是 Node 0.8(且因为某些原因不能升级),但又想使用 Streams2 的API怎么办呢? 或者比如 npm 上的某些开源的工具包,想要拥抱 Streams2 的便利,又想保持对使用 Node 0.8 的用户进行兼容处理,这样又得怎么处理? 通过使用 readable-stream,我们就可以在那些核心里没有 Streams2/3 的低版本 Node 中,直接使用 Streams2/3: var Readable = require('stream
sys_sendfile) .long SYMBOL_NAME(sys_ni_syscall) /* streams1 */ .long SYMBOL_NAME(sys_ni_syscall) /* streams2 sys_sendfile) .long SYMBOL_NAME(sys_ni_syscall) /* streams1 */ .long SYMBOL_NAME(sys_ni_syscall) /* streams2
管道结果(Piping results)和Streams2 query对象提供了一个非常方便的方法.stream(可选).它把查询事件封装成了可读(Readable)的Streams2对象,此流可以很容易地通过管道
强大的功能来处理异步问题 Channels js-csp - 为 JavaScript 提供连续的通信(例如 Clojurescript core.async 或 Go) 文件流 through2 - 基于 streams2 转换流中的第一个块 pad-stream - 填充流中的每一行 multistream - 将多个流合并为一个流 stream-combiner2 - 从管道输出流 readable-stream - Streams2