为了账号安全,请及时绑定邮箱和手机立即绑定

The super constructor to "inherits" must not be null or undefined

这种错误怎么回事?inherits还要安装模块吗?

//自我定制的各种流
var stream=require('stream');
var util=require('util');
function ReadStream(){
	stream.ReadStream.call(this)
}

util.inherits(ReadStream,stream.Readable)

ReadStream.prototype._read=function(){
	this.push('I ');
	this.push('Iove ');
	this.push('Imooc ');
	this.push(null);
}
// 声明可读流完成,可读流负责push数据
// 
// 可写流的声明
function WritStream(){
	stream.wirtable.call(this);
	// 缓存
	this._cashed=new Buffer('')
}
util.inherits(WritStream,stream.Wirtable);

// 重写可写流的write方法

WritStream.prototype._write=function(chunk,encode,cb){
	console.log(chunk.toString())
	cb()
}

function TransformStream() {
	stream.Transform.call(this)
}

util.inherits(TransformStream,stream.transform);

TransformStream.prototype._transform=function(chunk,encode,	cb){
	this.push(chunk)
	cb()
}

TransformStream.prototype._flush=function(cb){
	this.push('Oh Year ');
	cb()
}

var rs=new ReadStream()
var ws=new WritStream()
var ts=new TransformStream()

rs.pipe(ts).pipe(ws)


正在回答

2 回答

好像和版本有关,如果你的node够新的话,可以引入es6特性,使用class+extends方式继承,可以参考一下我的代码,效果和老师的一样

var stream=require('stream');

class ReadStream extends stream.Readable {
   
  _read(size){
      this.push('I');
      this.push('love');
      this.push('Imooc');
      this.push(null)
}

}
class WriteStream extends stream.Writable{

   _write(chunk,encode,cb){console.log(chunk.toString());
       cb()}
}

class TransformStream extends stream.Transform{
   _transform(chunk,encode,cb){
       this.push(chunk);
       cb()
   }
   _flush(cb){
       this.push('Oh Yeah!');
       cb()
   }

}

var rs=new ReadStream();
var ws=new WriteStream();
var ts=new TransformStream();
rs.pipe(ts).pipe(ws);



0 回复 有任何疑惑可以回复我~

这个报错是说你util.inherits(ReadStream,stream.Readable)里面的参数是空,你ReadStream这个参数根本就没有定义过,至于你还有许多其他的错误,我不太清楚你代码是怎么来的是干嘛的,你要自己找了,你的ReadStream方法,stream并没有ReadStream这个属性或方法,所以你的call也用不了,你的代码是不是把视频里的一些方法介绍搬来了,多百度百度吧


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
进击Node.js基础(二)
  • 参与学习       76755    人
  • 解答问题       226    个

本教程带你攻破 Nodejs,让 JavaScript流畅运行在服务器端

进入课程

The super constructor to "inherits" must not be null or undefined

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信