>데이터 베이스 >MySQL 튜토리얼 >Async/Await가 Node.js에서 여러 MySQL 쿼리를 어떻게 단순화할 수 있나요?

Async/Await가 Node.js에서 여러 MySQL 쿼리를 어떻게 단순화할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2024-12-02 20:59:11180검색

How Can Async/Await Simplify Multiple MySQL Queries in Node.js?

Async/Await를 사용하여 Node.js에서 MySQL을 사용한 비동기 프로그래밍

Node.js에서는 데이터베이스 상호 작용을 효율적으로 처리하기 위해 비동기 작업이 널리 사용됩니다. Node.js 8부터 도입된 async/await 구문은 동기식 방식으로 이러한 작업을 처리하는 편리한 방법을 제공합니다.

MySQL 데이터베이스에 대해 여러 쿼리를 실행해야 하는 시나리오를 생각해 보세요. 결과를 문자열에 추가합니다. 전통적으로 콜백은 비동기 쿼리를 처리하는 데 사용됩니다. 그러나 async/await를 사용하면 이 프로세스를 단순화하고 동기화할 수 있습니다.

다음 코드는 Node.js에서 async/await 키워드를 사용하여 여러 MySQL 쿼리를 실행하고 그 결과를 추가하는 방법을 보여줍니다.

const mysql = require('mysql'); // or use import if you use TS
const util = require('util');
const conn = mysql.createConnection({ yourHOST/USER/PW/DB });

// node native promisify
const query = util.promisify(conn.query).bind(conn);

(async () => {
  try {
    const rows1 = await query('select count(*) as count1 from file_managed');
    const rows2 = await query('select count(*) as count2 from file_managed');
    const rows3 = await query('select count(*) as count3 from file_managed');
    const rows4 = await query('select count(*) as count4 from file_managed');

    // append the results to a string
    const appendedText = `${rows1[0].count1} - ${rows2[0].count2} - ${rows3[0].count3} - ${rows4[0].count4}`;

    console.log(appendedText);
  } finally {
    conn.end();
  }
})();

이 코드에서는 콜백 기반 함수를 약속 반환 함수로 변환하기 위해 쿼리 함수를 util.promisify()로 래핑했습니다. async/await 구문을 사용하면 여러 쿼리를 순차적으로 실행할 수 있습니다. 각 쿼리의 결과는 변수에 할당되고 최종 추가된 문자열은 콘솔에 기록됩니다.

위 내용은 Async/Await가 Node.js에서 여러 MySQL 쿼리를 어떻게 단순화할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.