우선 async, await을 사용하기 위해선 기존에 사용하던 mysql이 아닌 mysql2 모듈을 사용해야 한다.
그래서 mysql2에 맞게 코드를 변경하였다.
const mysql = require('mysql2/promise');
const db_info = {
host: '127.0.0.1',
user: '-',
password: '-',
database: '-',
multipleStatements: true,
dateStrings: 'date',
//clearExpired: true,
//checkExpirationInterval: 3600000,
//expiration: 3600000,
enableKeepAlive: true // 갑자기 종료되는 econnreset 해결 위해
}
module.exports = {
init: function () {
return mysql.createPool(db_info);
},
// var conn = db_config.init();
connect: function (conn) {
conn.connect(function (err) {
if (err) console.error('mysql connection error : ' + err);
else console.log('mysql is connected successfully!');
});
},
db_info
}
그리고 실제로 적용해서 사용해봤다.
이런식으로 해보니 값이 잘 나온다.
- 값이 배열로 나오니 주의하자.
- 에러를 잡을 때 .catch를 사용하면 코드를 훨씬 간편하게 바꿀 수 있다.
let saveData = []
const outDate = async () => {
let test = null
test = await conn.getConnection().catch(err => console.log(err));
saveData = await test.query('사용한 쿼리').catch(err => console.log(err))
console.log(saveData[0])
console.log('saveDate : ' + JSON.stringify(saveData[0]))
}
outDate();'coooding > Node.js' 카테고리의 다른 글
| multer 모듈로 파일 업로드 하기 (0) | 2021.07.22 |
|---|---|
| [3~4일차] 개인 블로그 제작 (Express) (0) | 2021.07.21 |
| [2일차] 개인 블로그 제작 (Express) (0) | 2021.07.21 |
| [1일차] 개인 블로그 제작 (Express) (0) | 2021.07.21 |