Promisify
promisify()
는 v8.0.0
에서 추가된 util
모듈의 내장함수입니다. 공식문서에 따르면 일반적인 error-first callback style
을 따르는 콜백함수를 가져다 promise
를 반환하는 함수를 반환합니다. 따라서 callback
함수를 new Promise
로 감싸주지 않아도 promisify()
를 통해 간단히 promise
로 사용할 수 있습니다.
Error First style
일반적으로 (err, value) => ...
의 형태를 가지는, 에러를 가장 먼저 반환하는 스타일의 callback
함수를 의미합니다.
사용 예시
util.promisify()
가 promise
를 반환하기 때문에 일반적인 promise
를 다루는 법과 같습니다.
Then, Catch, Finally를 이용하는 방법
1 | const util = require('util'); |
위와 같이 then
을 통해 promise
를 이용할 수 있고 마찬가지로 async
를 이용할 수도 있습니다.
1 | const util = require('util'); |
Error 처리
예외를 처리하는 방법은 promisify()
가 실제로 promise
를 반환하기 때문에 일반적으로 promise
의 예외를 처리하는 방법과 동일합니다. 위의 사용 예시와 같이 then
과 catch
를, async/await
을 사용하는 경우에는 try
와 catch
를 통해 예외를 처리할 수 있습니다.