Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- setInterval clear
- invalid data
- 맥 어드레스
- mySQL_Replication
- allow_anonymouse
- listener 1883
- AntDesign
- map이 undefined가 뜰 때
- pm2 확인
- pm2 시작
- 1883
- setInterval 중지
- html #select #option #multiple
- 서버동기화
- Replication
- DataGridView 직접 입력
- pm2
- pm2 설치
- mosquitto
- datagridview 직접입력
- 공인IP
- DatePicker
- pm2 상태 확인
- timepicker
- 데이터테이블 데이터 넣기
- setInterval 외부 정지
- mosquitto.conf
- c# datagridview 데이터 넣기
- transfer
- setInterval 정지
Archives
- Today
- Total
개발 노트
util 모듈 - promisify() 본문
node.js의 내장함수인 util모듈 중에 promisify라는 함수가 있습니다. (Node 8.0.0 부터 추가)
Promise로 되어있지 않은 레거시한 모듈들을 비동기로 실행할 때 유용합니다.
Promisify는 함수의 마지막 인자로 콜백함수를 받는 유틸 함수 입니다.
Promise를 사용하기
일반적으로 사용했던 promise를 사용하는 방법입니다.
async function executeQuery() {
try {
const query = "SELECT * FROM your_table";
const results = await poolLocal.query(query);
console.log(results);
} catch (error) {
console.error(`[Error] 쿼리 실행 중 오류가 발생했습니다: ${error.message}`);
}
}
executeQuery();
같은 코드를 아래와 같이 사용할 수 있습니다.
Promisify를 사용하기
promise로 감싸주어 호출 하는 대신 promisify를 사용하면 가독성이 훨씬 좋아집니다
const mysql = require("mysql");
const util = require("util");
const config = require("./config");
const poolServer = mysql.createPool(config.db_server);
/* poolServer 함수 자체를 Promisify의 인자로 전달*/
poolServer.query = util.promisify(poolServer.query);
/* promise와 마찬가지로 then이나 catch를 통해 에러 스트림을 추가로 연결가능*/
const rows = await poolLocal.query("쿼리문")
'Node' 카테고리의 다른 글
Winston 모듈 (0) | 2023.12.22 |
---|---|
Path모듈 (0) | 2023.12.21 |
mysql 연동 시 datetime 에러 (0) | 2023.12.19 |
Connection과 Connection Pool (0) | 2023.12.19 |
require()와 module.exports (0) | 2023.12.19 |