如何打印函数的返回值?

时间:2017-12-02 19:45:30

标签: node.js

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

我该如何解决这个问题?

我正在使用Node filename.js

执行

当前回报:

BillString :

1 个答案:

答案 0 :(得分:1)

NodeJs异步工作,这意味着你的console.log命令在getText()命令启动后立即启动,但没有任何事情可以保证它会在结束之前发生< / strong>即可。

要打印它,您需要将您的console.log命令放在回调中:

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