2017-12-02 3 views
1

나는 완전히 NodeJs에 익숙하며 반환 할 문자열을 인쇄하려고합니다.함수의 반환 값을 출력하는 방법은 무엇입니까?

var lineReader = require('readline').createInterface({ 
    input: require('fs').createReadStream("shopn'stop.txt") 
}); 



function getText() { 

var billString = "" 
lineReader.on('line', function (line) 
{ 
    // console.log('Line from file:', line); 
    var tempStr = line; 

    billString = billString.concat(tempStr + "\n"); 
    // console.log("temp " + billString); 
    }); 

return billString; 

} 



console.log('BillString : ' + getText()); 

나는이 문제를 어떻게 해결합니까 빈 문자열 반환?

내가 노드 filename.js

현재 수익률 실행하고

:

BillString : 

답변

1

NodeJs는 비동기 적으로 작동하여 console.log 명령은 바로 getText() 명령 후 시작을 시작하는 것을 의미하지만, 아무것도 당신을 보장하지 이 끝나기 전에이 발생합니다. 응답에 대한

var lineReader = require('readline').createInterface({ 
    input: require('fs').createReadStream("shopn'stop.txt") 
}); 

function getText() { 

    var billString = "" 
    lineReader.on('line', function (line) { 
    var tempStr = line; 

    billString = billString.concat(tempStr + "\n"); 
    }); 

    console.log('BillString : ' + billString); 
} 
getText(); 
+0

감사를 많이하지만, 같은 결과를 반환 그것을 인쇄하기 위해

, 당신은 콜백 내부에 CONSOLE.LOG 명령을 넣어해야합니다. 변경 사항 없음 –

관련 문제