util
util이라는 이름처럼 각종 편의 기능을 모아둔 모듈이다. 계속해서 API가 추가되고 있으며, 가끔 deprecated되어 사라지는 경우도 있습니다.
deprecated란?
deprecated는 프로그래밍 용어로, '중요도가 떨어져 더 이상 사용되지 않고 앞으로는 사라지게 될' 것이라는 뜻입니다.
util.js
const util = require("util");
const crypto = require("crypto");
const dontUseMe = util.deprecate((x, y) => {
console.log(x + y);
}, "dontUseMe 함수는 deprecated되었으니 더 이상 사용하지 마세요!");
dontUseMe(1, 2);
const randomBytesPromise = util.promisify(crypto.randomBytes);
randomBytesPromise(64)
.then((buf) => {
console.log(buf.toString("base64"));
})
.catch((error) => {
console.error(error);
});
- util.deprecate: 함수가 deprecated 처리되었음을 알립니다. 첫 번째 인수로 넣은 함수를 사용했을 때 경고 메시지가 출력됩니다. 두 번째 인수로 경고 메시지 내용을 넣으면 됩니다. 함수가 조만간 사라지거나 변경될 때 알려줄 수 있어 유용합니다.
- util.promisify: 콜백 패턴을 프로미스 패턴으로 바꿉니다. 바꿀 함수를 인수로 제공하면 됩니다. 이렇게 바꿔두면 async/await 패턴까지 사용할 수 있어 좋습니다. 프로미스를 바꾸는 util.callbackify도 있지만 자주 사용되지는 않습니다.
콘솔
$ node util
3
(node:13720) DeprecationWarning: dontUseMe 함수는 deprecated되었으니 더 이상 사용하지 마세요!
(Use `node --trace-deprecation ...` to show where the warning was created)
q68hST03TKdxiI/CcnBcsMzm/U45DCvZCsmqpXYYgOEOY8FHy15WpwWiPjVlsI/7mOpBGkBoUqi+tw6L6c0Sig==
'프로그래밍 언어 > NODE JS' 카테고리의 다른 글
| 기타 모듈들 (0) | 2025.04.19 |
|---|---|
| worker_threads (0) | 2025.04.13 |
| crypto (0) | 2025.04.07 |
| querystring (0) | 2025.04.04 |
| url (0) | 2025.04.01 |