Node.js中的streams基于事件。
所有这些stream类都继承自基本抽象Stream类,它继承自EventEmitter。
var stream = require("stream");
var EventEmitter = require("events").EventEmitter;
console.log(new stream.Stream() instanceof EventEmitter); // true
console.log(new stream.Readable({}) instanceof stream.Stream); // true
console.log(new stream.Writable({}) instanceof stream.Stream); // true
console.log(new stream.Duplex({}) instanceof stream.Stream); // true
console.log(new stream.Transform({}) instanceof stream.Stream); // true
上面的代码生成以下结果。
所有流都支持使用管道成员函数可以完成的管道操作。
此函数称为管道,因为它模拟命令行管道操作符的行为,例如cat file.txt | grep yourtest
fs
核心模块提供了用于从文件创建可读或可写流的实用程序函数。
以下代码显示如何将文件从文件系统流式传输到用户控制台。
var fs = require("fs");
// Create readable stream
var readableStream = fs.createReadStream("./a.js");
// Pipe it to stdout
readableStream.pipe(process.stdout);
你还可以使用pipe链接多个stream。
以下代码从文件创建可读取流,通过zip变换流管道,然后将其管道到可写文件流。
这将在文件系统上创建一个zip文件。
var fs = require("fs");
var gzip = require("zlib").createGzip();
var inp = fs.createReadStream("a.js");
var out = fs.createWriteStream("a.js.gz");
// Pipe chain
inp.pipe(gzip).pipe(out);
Node.js中的steams基于事件。
Node.js v8.3.0已发布,在该版本中,已将V8引擎升级到6.0版本,性能有了大幅度的改进。有关性能差异的更多详细信息,点击查看详...
Node.js是运行在服务端的JavaScript。Node.js是一个基于Chrome JavaScript运行时建立的一个平台。Node.js是一个事件驱动I/O服务...
本节介绍Node.js的RESTfulAPI。什么是 REST?REST中文解释为,表述性状态传递(英文:Representational State Transfer,简称RES...
稳定性: 3 - 稳定纯Javascript语言对Unicode友好,能够很好地处理Unicode编码的字符串数据,但是难以处理二进制数据。在处理TCP...
TypeScript- 数组concat()concat()方法返回一个由此数组组成的新数组,该数组与两个或多个数组连接。语法array.concat...
语法定义了一组用于编写程序的规则。每一种语言规范定义了它自己的语法。一个TypeScript程序是由以下几个部分组成:Modules(模...
TypeScript While循环每次指定的条件求值为true时,while循环都会执行指令。换句话说,循环在执行代码块之前评估条件。语法while...
TypeScript Number方法 toString()toString()方法返回表示指定对象的字符串。toString()方法解析其第一个参数,并尝试返回指定基...
TypeScript 字符串indexOf()方法indexOf()方法返回指定的值的第一次出现的调用String对象中的索引,从fromIndex开始搜索,如果未...