node.jsでPostgreSQL からデータを引き出したいです
その際に、for文で取得し、応答をまとめて次処理に移行したいです。
Promiseやawait/asyncなど試しましたが、queryの応答が非同期のため
データが空のまま次処理に移行してしまいます。
node.js
1var databox =[{ name:"A" ,age:"" ,like:"apple" },{ name:"B" ,age:"18" ,like:"" },{ name:"C" ,age:"" ,like:"apple" }]; 2 3for(var i = 0 ; i < databox.length ; i++){ 4 5 client.query("SELECT Age FROM tablename WHERE name = A") 6 .then(res => databox[i].age = res.rows[0]) 7 .catch(e => console/console.error(e.stack) 8 9 //配列の要素をDBより取得していく 10} 11 12console.log(databox);//次処理でdataboxを使用する 13 14//databoxが初期状態のまま
Promiseをqueryの外に付けましたが、queryが非同期のため応答がない状態で次処理(次ループ)に移行しています。
query要求→query応答→次query要求→・・・→ループ終了→次処理
が実現したいです。
分かりにくく申し訳ございません。よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。