2017-02-20 4 views
0

안녕하세요. 파일을 읽고 .createReadStream 메서드를 사용하여 데이터로 변환하려고하지만 내 프로그램을 실행할 때 오류가 발생하지 않지만 console.log 터미널에 '정의되지 않은'어떤 충고가 도움이 될 것입니다! 여기노드의 스트림에서 데이터를 읽을 수 없습니다

//Readable Steams 
var fs = require("fs"); 
var data = ''; 

//Create a reable stream 
var readerStream = fs.createReadStream('input.txt'); 

readerStream.setEncoding('utf8'); 

//Handle events data, end, error 
readerStream.on('data', function(chunk){ 
    data += chunk; 
}); 

readerStream.on('end', function(data){ 
    console.log(data); 
}); 

readerStream.on('error', function(err){ 
    console.log(err.stack); 
}); 

console.log("program ended"); 
+0

당신이 (http://codewinds.com/blog/2013-08-04-nodejs-readable-streams.html) 일부 [연구]를 했나요이 질문을하기 전에 ? –

답변

1

: 당신이 "종료"상태에 대한 콜백에있을 때

readerStream.on('data', function(chunk){ 
    data += chunk; 
}); 

당신은 당신의 전역 변수 "데이터"당신이 라인 3. 정의에 추가되어 그러나, 당신은에 그것을 기대 "데이터"라는 변수도주고, 그 다음에 로그를 남깁니다. 이에 말에 대한 콜백을 변경 :

readerStream.on('end', function(){ 
    console.log(data); 
}); 
+0

그 덕분에! – hjm