Node js mysql 값 가져올 때 async await 사용하기

2023. 2. 16. 14:32·coooding/Node.js

우선 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
'coooding/Node.js' 카테고리의 다른 글
  • multer 모듈로 파일 업로드 하기
  • [3~4일차] 개인 블로그 제작 (Express)
  • [2일차] 개인 블로그 제작 (Express)
  • [1일차] 개인 블로그 제작 (Express)
stableh
stableh
  • stableh
    생각 정리
    stableh
  • 전체
    오늘
    어제
    • 전체보기 (29)
      • coooding (12)
        • Spring (0)
        • 서버 (3)
        • Java (0)
        • Git (0)
        • Node.js (5)
        • React (1)
        • Javascript (1)
        • NestJS (2)
      • 프로젝트 (1)
        • 개인 블로그 (1)
        • tutorial-sejong (0)
        • Todone (0)
        • Markan (0)
      • 기록 (5)
        • 그냥저냥 (2)
        • 군대 (2)
        • 창업일지 (1)
      • 독서 (0)
        • 개발 서적 (0)
      • 지난 이야기 (11)
  • 블로그 메뉴

    • 홈
    • 블로그 관리
  • 링크

    • Github
    • 관리자페이지
  • 공지사항

  • 인기 글

  • 태그

    react-beautiful-dnd
    CORS
    db 복사
    favicon
    React
    datetime
    JWT
    NestJS
    MariaDB
    err
    ubuntu 22.04
    EJS
    node
    pinia
    multer
    db 이동
    vue
    노드
    우분투 22.04
    상태 관리
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
stableh
Node js mysql 값 가져올 때 async await 사용하기
상단으로

티스토리툴바