我对NodeJ完全陌生,正在尝试打印返回中给出的字符串。
它返回一个空字符串
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 :
最佳答案
NodeJs异步工作,这意味着console.log
命令在getText()
命令开始后立即启动,但是没有任何保证可以在结束之前发生。
为了打印它,您需要将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();