[Nodejs]mysql+promise

mysql+promise 사용에 대한 코드 입니다.
굵은글씨 부분이 mysql과 promise를 사용하는부분입니다.
아래와 같이 사용하시면 mysql작업을 순서대로 처리 할 수 있습니다.
rows변수 부분이 제일 처음 작업이 끝나면 rows2부분의 작업을 시작합니다.

This is code for using mysql+promise.
The part in bold is the part that uses mysql and promise.
When the rows variable part is finished first, the rows2 part begins.

const rows = await promisePrint(hostname, dbuser, dbpassword, dbname, "username");
const rows2 = await promisePrint(hostname, dbuser, dbpassword, dbname, "username2");

전체코드(full code)

const mysql      = require('mysql2');
const express = require('express');
const dbname = "your_db_name";
const hostname = "localhost";
const dbuser = "your_db_user_name";
const dbpassword = "your_db_password";
const { createServer } = require('http');

// Initialize Express app and HTTP server
const app = express();
const server = createServer(app);

async function  promisePrint(hostname, dbuser, dbpassword, dbname, username) {
    const connection = mysql.createConnection({
        host: hostname,
        user: dbuser,
        password: dbpassword,
        database: dbname
    });

    return new Promise((resolve, reject) => {
        var sql = 'SELECT * FROM video WHERE username = ? ORDER BY id DESC';
        var values = [username];
        connection.query(sql, values, (error, rows) => {
            if (error) {
                reject(error);
            } else {
                resolve(rows);
            }
        });
    }).finally(() => {
        connection.end((err) => {
            if (err) {
                console.error('Error closing the connection:', err);
            } else {
                console.log(` ${username} Connection closed successfully.`);
            }
        });
    });
}


app.get("/", async(req, res) => {

    const connection = mysql.createConnection({
        host     : hostname,
        user     : dbuser,
        password : dbpassword,
        database : dbname
      });
  
      try {
          const rows = await promisePrint(hostname, dbuser, dbpassword, dbname, "username");
          console.log('username:',rows);

      } catch (error) {
          console.error('Error fetching data:', error);
          res.status(500).send('Internal Server Error');
      }

  });

  // Start the server on port 3000 or the port specified in the environment variables
  const port = process.env.PORT || 3000;
  server.listen(port, () => {
    console.log(`Server running at http://localhost:${port}`);
  });

Leave a Reply

Your email address will not be published. Required fields are marked *