dbConnect(res).then((conn)=>{
query(conn,res,
`SELECT * FROM programs WHERE user_id = ?`,
[
user_id
]
).then((programList)=>{
new Promise((resolved,rejected)=>{
for(let i = 0; i<programList.length;i++){
query(conn,res,`
SELECT * FROM open_programs WHERE program_id = ?`,[programList[i].program_id])
.then((opList)=>{
Object.assign(programList[i],{openList : opList});
console.log(programList[i]);
if(i == (programList.length-1)){
resolved(programList)
}
})
}
}).then((result)=>{
conn.release();
res.json(toRes(SUCCESS,
{ data : result }
));
})
});
});
「dbConnectの」、「クエリ」は、第1にこのコードでは「約束」どのように私は私の非同期コードは(私は約束を使用しています)JavaScriptでリファクタリングすることができます
で構成され、私のカスタムメソッドであり、私が取得firstResults(スキーマ=プログラム) i「はループのための」中firstResults.program_idを使用してnextsqlResults を取得し、割り当てた後firstresultとnextResults
を割り当てるオブジェクトの後、私は
どのように私はこのコードを開発することができ、結合データを応答?
dbConnectの使用を検討してください:小さな関数に既存のコードを抽出することにより、あなたはこのようなあなたのコードを整理することができますものは読みやすくするために他に
、 ()のプロミスreturn conn(接続)、このコードでは、私はPromise.all()を使用することはできません。どうすればリファクタリングできますか? – WooHee