Node.js逐行读取文件并将结果累积在全局对象中

时间:2019-05-06 20:19:16

标签: node.js

经典的令人尴尬的新手问题。为什么我的商店变量不包含任何结果?我知道它正在累积结果。我对Node.js也了解得足够多,知道它与Promise,单线程等有关。

this.myObject=this.inputForm.value

1 个答案:

答案 0 :(得分:1)

这与Promise(承诺)无关(尽管您愿意,也可以Promisise)。

正如您所说,它正在逐行累积结果,但这恰好在回调函数的范围之内。 而且,如果要使用数据,则在最后一行被调​​用时(或可能监听其他事件),您将不得不在回调函数中调用另一个函数。

类似以下内容:

var store = {};
rd.on('line', function(line) {
    store[line] = 1;
    // console.log (`store is now: ${JSON.stringify (store)}`);
})
.on('close', function() {
    myFunc(store);
});

function myFunc(store){
   console.log (`store is now: ${JSON.stringify (store)}`);
}