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

为什么我的代码输出总是第一行不显示?


var Readable = require('stream').Readable;

var Writable = require('stream').Writable;


// 实例化

var readStream = new Readable();

var writStream = new Writable();


readStream.push('Hello ');

readStream.push('I ');

readStream.push('Love ');

readStream.push("Scott's ");

readStream.push('lessons\n');

readStream.push(null); // 代表push结束



writStream._write = function(chunk, encode, cb)

{

console.log(chunk.toString());

cb();

}


readStream.pipe(writStream);

http://img1.sycdn.imooc.com//57ed339a0001144b05160132.jpg

正在回答

2 回答

var stream = require('stream');
var util = require('util');		//tools

function ReadStream(){
	// 改变上下文
	stream.Readable.call(this);
}

util.inherits(ReadStream, stream.Readable);

ReadStream.prototype._read = function() {
	this.push('Hello ');
	this.push('I ');
	this.push('Love ');
	this.push("Scott's ");
	this.push('lessons\n');
	this.push(null);	//	代表push结束
};

function WritStream(){
	stream.Writable.call(this);
}

util.inherits(WritStream, stream.Writable);

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 Fuck!');
	cb();
}

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

rs.pipe(ts).pipe(ws);

这个也是第一行不显示

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

绯色昌

我的可以显示,复制你的代码的
2016-10-10 回复 有任何疑惑可以回复我~
//代码如下
var Readable = require('stream').Readable;
var Writable = require('stream').Writable;

// 实例化
var readStream = new Readable();
var writStream = new Writable();

readStream.push('Hello ');
readStream.push('I ');
readStream.push('Love ');
readStream.push("Scott's ");
readStream.push('lessons\n');
readStream.push(null);	//	代表push结束


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

readStream.pipe(writStream);


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

举报

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

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

进入课程

为什么我的代码输出总是第一行不显示?

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