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