私はいくつかのデータを持つ配列を受け取るので、配列の各要素に対してクエリを作成する必要があります。しかし、これは私にpromise pending
を与えました。どのように私はそれを解決するか? 問題は何ですか?Express - ループクエリーのときに約束する約束
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);
});
}
は
ここでコードは "約束を保留"にしていますか? – Bergi