gpt4 book ai didi

javascript - Express - 循环查询时 Promise 挂起

转载 作者:行者123 更新时间:2023-12-01 04:10:01 24 4
gpt4 key购买 nike

我收到一个包含多个数据的数组,我必须对数组的每个元素进行查询。但这是给我一个未决的 promise 。我该如何解决这个问题?有什么问题吗?

       getFamilies(req, res)
{
console.log(req.params.data);
var parsedData = JSON.parse(req.params.data);
var compounds = parsedData[0].compounds;
var supplier = parsedData[0].supplier;
var families = parsedData[0].families;
console.log(parsedData[0].compounds.length);

var parts = [];
for (var i = 0; i < compounds.length; i++)
{
console.log(families[i]);
console.log("SELECT u_part.u_idpart, u_part.u_order, u_part.u_familia, st.fornecedor, st.design, st.ref FROM u_part INNER JOIN st ON u_part.u_familia = st.familia WHERE st.fornecedor ='" + supplier +"' and u_part.u_familia="+ families[i]);
parts.push(request.query("SELECT u_part.u_idpart, u_part.u_order, u_part.u_familia, st.fornecedor, st.design, st.ref FROM u_part INNER JOIN st ON u_part.u_familia = st.familia WHERE st.fornecedor ='" + supplier +"' and u_part.u_familia="+ families[i]));
}

return Promise.all([parts]).then(function(listOfResults)
{
console.log(listOfResults[0]);
console.log("done");
}).catch(function(err)
{
// ... query error checks
console.log(err);
});
}

谢谢

最佳答案

Promise.all 接受一个 Promise 数组,其中 parts 已经是,而不是一个 Promise 数组的数组 ([parts]) 。使用

return Promise.all( parts ).then…
// ^ ^

关于javascript - Express - 循环查询时 Promise 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41576504/

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