在 NodeJS 中更新来自子项的全局变量值



下面的代码是用nodejs和mongodb编写的。我正在尝试在控制台中打印temp_child_array值,我得到空白数组。任何人都可以告诉我如何将获取数据传递给父级。

let pr = new Promise(function(resolve, reject) {
MasterCodesModel
.getData(key)
.then(data => {
let temp_child_array = [];
let process_child = (key) => {
MasterCodesModel
.getData(key)
.then(data => {
temp_child_array.push(data);
})
}
process_child(key)
console.log("TEMP_CHILD_ARRAY: ", temp_child_array)// Its Empty
});
});

你的内部process_child函数有一个异步mongoDB任务(MasterCodesModel.getData(key).then(...)(,当你调用console.log时,该任务还没有完成(被拒绝或解决(。所以结果还没有,temp_child_array会有它的初始值:[].

你应该将process_child函数写成一个承诺,当它被解决时,你的temp_child_array与你的值一起可用。

最新更新