2013-05-05 3 views
4
에() util.pump 교체

최근 0.8 ~에서 Node.js를 최신 버전 (1.10 ~)으로 업데이트하고, 그 실행하면 말할 때 나는 메시지를 받았는데 :Node.js를

util.pump() is deprecated. Use readableStream.pipe() instead. 

필자는 필자의 함수를 readableStream.pipe()라고 바꾸려고 시도했지만, 동일하다고는 생각하지 않습니다.

  1. 왜 util.pump가되지 않습니다 :

    그래서 나는 세 가지 질문이 있습니까?

  2. 어떻게하면 readableStream.pipe()로 전환 할 수 있습니까? 또는 3.이 경고는 어떻게 해제합니까?

    ReferenceError: readableStream is not defined 
    

    : 여기

은 내가 readableStream.pipe와 util.pump 교체 할 때

var stream = mu.compileAndRender(template_file, json_object_from_db); 
     util.pump(stream, res); 

(수염)을 사용하고 코드입니다,이 오류가 발생합니다 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

답변

11

그래,이 질문은 몇 가지 실험 (문서가 null 임에도 불구하고) 이후 꽤 쉬운 답변이었습니다.

기본적으로 readableStream은 사용자가 스트림으로 대체해야하는 변수입니다. 따라서 제 경우 대답은 다음과 같습니다.

stream.pipe(res); 

기본적으로 util을 기본적으로 스트림으로 바꿉니다. 쉬운 peezy.

+0

정확하게 표시하십시오. – user568109

+0

@ user568109 그럴 때까지 다른 일을 기다려야 할 것입니다. 희망이 도움이! – streetlight

+0

@ user568109 표시했습니다. – streetlight

0

나는 당신의 일에 도움이 될 다음 링크를 생각해보십시오! 당신이이 stream.pipe() 메소드가 읽을 수있는 스트림에 호출 될 때마다 방출이 링크 http://nodejs.cn/api/stream.html
볼 수 있습니다>

var readS = fs.createReadStream("fileA.txt"); 
var writeS = fs.createWriteStream("fileB.txt"); 
readS.pipe(writeS); 

readS.on("end", function() { 
    // Operation done 
}); 
1

https://groups.google.com/forum/#!msg/nodejs/YWQ1sRoXOdI/3vDqoTazbQQJ


var readS = fs.createReadStream("fileA.txt"); 
var writeS = fs.createWriteStream("fileB.txt"); 
util.pump(readS, writeS, function(error) 
    // Operation done 
}); 

=====, 이 쓰기 가능을 목적지 집합에 추가합니다.

var writer = getWritableStreamSomehow(); 
var reader = getReadableStreamSomehow(); 
writer.on('pipe', (src) => { 
console.error('something is piping into the writer'); 
assert.equal(src, reader); 
}); 
reader.pipe(writer);