如何打印函数的返回值?
我对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();