[typescript] await for...of 문을 사용하여 데이터베이스 작업을 처리하는 방법
TypeScript에서는 for...of
루프를 사용하여 데이터베이스에서 결과를 반복하여 처리하는 방법을 제공합니다. 이는 주로 async/await
와 함께 사용되어 비동기적으로 데이터베이스 작업을 처리하는 데 유용합니다.
데이터베이스 접속 설정
먼저, 데이터베이스에 연결하고 쿼리를 실행하는 함수를 준비합니다. 아래는 PostgreSQL 데이터베이스를 사용하는 예시입니다.
import pg from 'pg';
const pool = new pg.Pool({
user: 'your_username',
host: 'your_host',
database: 'your_database',
password: 'your_password',
port: 'your_port',
});
export async function queryDatabase(query: string, params: any[] = []) {
const client = await pool.connect();
try {
const result = await client.query(query, params);
return result.rows;
} finally {
client.release();
}
}
await for…of 문을 사용한 데이터 처리
이제 데이터베이스에서 받은 결과를 for...of
루프를 사용하여 처리할 수 있습니다.
async function processDataFromDatabase() {
const query = 'SELECT * FROM your_table';
const data = await queryDatabase(query);
for await (const row of data) {
// 각 row에 대한 처리
console.log(row);
}
}
위 예시에서 for await...of
루프는 비동기적으로 데이터를 반복하여 처리합니다.
이제 TypeScript에서 await for...of
문을 사용하여 데이터베이스 작업을 처리하는 방법을 이해했습니다. 이를 응용하여 실제 프로젝트에서 활용해보시기 바랍니다.