如何打印函数的返回值?

我对NodeJ完全陌生,并试图打印返回的string。

它返回一个空的String

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 : 

NodeJs是asynchronous工作的,这意味着你的console.log命令在getText()命令开始后立即启动 ,但没有什么能保证它在它结束之前发生。

为了打印它,你需要把你的console.log命令放在callback中:

 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();