更新来自回调的javascript父变量
在node.js中,我需要跨多个回调收集一些数据并将它们存储在一个对象中。我尝试了下面的代码,但收集到的数据并未保存在初始化变量中。你能帮助我做错了什么吗?更新来自回调的javascript父变量
我的代码:
for (var x in data) { var status = {items: []};
for (var y in x) {
do_something(y, function (err, res) {
again_do_something(res, function(err, result) {
status.items.push({key: result});
});
});
}
console.log(status); //Here I got only {items: []}
}
回答:
console.log(status);
将得到执行的回调函数之前得到执行。这就是为什么你看到空虚。
解决这个常见问题的一个简单方法是使用async library's concat method。
以上是 更新来自回调的javascript父变量 的全部内容, 来源链接: utcz.com/qa/263816.html