经典的令人尴尬的新手问题。为什么我的商店变量不包含任何结果?我知道它正在累积结果。我对Node.js也了解得足够多,知道它与Promise,单线程等有关。
this.myObject=this.inputForm.value
答案 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)}`);
}