node의 흐름 대상 학습 (읽기 흐름과 쓰기 흐름)
1577 단어 node
여전히 지난번의 수열로 이루어졌다.
이번에는 읽기 대상과 쓰기 대상을 포함한다.
모든 코드
/**
*
*
* @author yyy
*/
var stream=require('stream');
var util=require('util');
// -------------- -----------------
function StreamChildRead(n)
{
this.a=0;
this.b=1;
this.n = n;
stream.Readable.call(this);
}
util.inherits(StreamChildRead, stream.Readable );
//
StreamChildRead.prototype._read = function(){
this.push( this.a.toString());
this.push( this.b.toString());
for(let i=2;i<= this.n+1-2;i++) {
[this.a, this.b] = [this.b, this.a+this.b];
this.push( `${this.b}` );
}
this.push(null);
};
// --------------- --------------
function StreamChildWrite()
{
this.count=0;
stream.Writable.call(this);
}
util.inherits(StreamChildWrite, stream.Writable );
//
StreamChildWrite.prototype._write = function(chunk,encoding,callback){
process.stdout.write( ('f('+ this.count++) +"):"+ chunk.toString()+'
');
callback();
};
(new StreamChildRead(10)).pipe(new StreamChildWrite());
출력은 다음과 같습니다.
f(0):0
f(1):1
f(2):1
f(3):2
f(4):3
f(5):5
f(6):8
f(7):13
f(8):21
f(9):34
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Express.js에서 오류를 처리하는 간단한 방법Express에서 오류를 처리하는 여러 가지 방법이 있습니다. 이를 수행하는 일반적인 방법은 기본 익스프레스 미들웨어를 사용하는 것입니다. 또 다른 방법은 컨트롤러 내부의 오류를 처리하는 것입니다. 이러한 처리 방식...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.