最近计划(Node Stream)——2018.02.14
Closed this issue · 1 comments
zhongdeming428 commented
继续学习Node知识,查漏补缺。
重点:
- Node流
- 网络应用构建
- 代码测试
- 部署应用
zhongdeming428 commented
笔记
Node Stream
Node流分为以下四种:
- Readable 可读流
- Writable 可写流
- Duplex 可读可写流
- Transform 操作被写入数据,然后读出结果
Node流对象常用事件:
- data——有数据可读时触发
- end——没有更多数据可读时触发
- error——发生错误时触发
- finish——所有数据已被写入系统底层时触发
重要方法:
fs模块的方法:
- fs.createReadStream()
- fs.createWriteStream()
前者用于创建可写流,后者用于创建可读流。
两种流都有许多api可用:
- on: 实现监听事件
- setEncoding: 设置编码形式
- pipe: 数据流入下一环节
- pause: 暂停流的传输
- resume: 恢复被暂停的流,使其继续传输数据
另外,可写流api:
- write: 写入数据到可写流
- end: 结束数据写入,标记文件末尾
许多Node的API都实现了流式操作,或者说许多Node模块中的对象都是可读流或者可写流。
比如:zlib压缩方法或者解压缩方法都会返回一个可读可写流,http request对象是可读流,http response对象是可写流。