gpt4 book ai didi

javascript - 使用 Node.js 的 Promise 从两个嵌套查询中返回一个对象

转载 作者:太空宇宙 更新时间:2023-11-04 01:56:27 24 4
gpt4 key购买 nike

我需要根据两个查询的结果构建一个对象,但我未定义。从第一个查询返回的每个对象中,我需要使用第二个查询设置一个列表。但是,当我需要执行一些与链接查询的结果嵌套的实现时,我会很难处理 promise 。

两个查询都有效并返回正确的值。

我的问题涉及一些逻辑和“不知道如何使用 JavaScript 和 Promise”问题。

我很感激任何提示

我的代码:

 var aFunction = function(){

//this query return a list of A objects

return myDAO.getADataList()
.then(function(aDataList){

aDataList.forEach(function(aData){

//this query return a list of B objects to each A object

myDAO.getBdataFromA(aData.id)
.then(function(bDataList){

//here i want to return a object with both values

return {
aValue: aData,
list : bDataList
}
})
})
});
}

aFunction()
.then(function(data){
//here data is undefined
console.log(data);
});

最佳答案

您可以使用 Promise.all:

return myDAO.getADataList()
.then(function(aDataList){
return Promise.all(
aDataList.map(function (aData) {
//this query return a list of B objects to each A object
return myDAO.getBdataFromA(aData.id)
.then(function (bDataList) {
//here i want to return a object with both values
return {
aValue: aData,
list: bDataList
}
})
})
);
});

关于javascript - 使用 Node.js 的 Promise 从两个嵌套查询中返回一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47784658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com