栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何实现可写流

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何实现可写流

要创建自己的可写流,您有三种可能。

创建自己的课程

为此,您需要1)扩展Writable类2)在您自己的构造函数中调用Writable构造函数3)

_write()
在流对象的原型中定义一个方法。

这是一个例子:

var stream = require('stream');var util = require('util');function EchoStream () { // step 2  stream.Writable.call(this);};util.inherits(EchoStream, stream.Writable); // step 1EchoStream.prototype._write = function (chunk, encoding, done) { // step 3  console.log(chunk.toString());  done();}var myStream = new EchoStream(); // instanciate your brand new streamprocess.stdin.pipe(myStream);

扩展一个空的可写对象

您可以实例化一个空

Writable
对象并实现该
_write()
方法,而不是定义新的对象类型:

var stream = require('stream');var echoStream = new stream.Writable();echoStream._write = function (chunk, encoding, done) {  console.log(chunk.toString());  done();};process.stdin.pipe(echoStream);

使用简化的构造函数API

如果您使用的是io.js,则可以使用简化的构造函数API:

var writable = new stream.Writable({  write: function(chunk, encoding, next) {    console.log(chunk.toString());    next();  }});

在节点4+中使用ES6类

class EchoStream extends stream.Writable {  _write(chunk, enc, next) {    console.log(chunk.toString());    next();  }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436682.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号