node 질문입니다. 채택완료
nodejs에서 mysql연동하고나서 최종 값을 뽑아오려고 하는데. 자꾸 0이 뜨더라구요..
중간에 콘솔찍어보면 값은 1000으로 잘 나오지만, 마지막부분엔 0으로 나오네요ㅠㅠ왜그런걸까요?
var tot_price = 0;
pool.getConnection(function(err, connection) {
if (err) throw err; // not connected!
connection.query('SELECT * FROM `g5_shop_item2` WHERE it_10 = "1234"', function (error, results, fields) {
connection.release();
if(err){ // 실패
console.log("fail");
} else { // 성공
tot_price += 1000;
console.log("tot_price:::"+tot_price); // 여기서는 1000이라 나오지만
}
});
console.log("tot_price:::"+tot_price); // 여기서는 0으로 나옵니다-.-;
});
답변 1개
일단 mysql인지 mysql2를 사용하신건지 몰라 mysql2의 promise구문으로 작성합니다.
</p>
<p>Router.get('/test', async (req, res, next) => {</p>
<p> let tot_price = 0;</p>
<p> let connect = await pool.getConnection();</p>
<p> let result = await connect.query('SELECT * FROM `g5_shop_item2` WHERE it_10 = "1234"');</p>
<p> if (result[0][0]) {</p>
<p> tot_price += 1000;</p>
<p> } else {</p>
<p> console.log('error');</p>
<p> }</p>
<p> console.log(tot_price)</p>
<p>});</p>
<p>

댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인