javascript
callback 패턴 함수를 await로 쓰는 방법
amugae
2018. 5. 1. 15:11
callback 패턴은 가독성도 정말 안좋고
들여다 보지 않으면 뭔일이 일어나는 지도 파악하기도 힘들다.
함수 설계를 promise를 return하도록 바꿀 수 있다면 편하겠지만
건드릴 수 없는 함수들이 있다.
이럴 경우 래핑해서 await로 바꿀 수 있다.
다음 코드에서 nodeJs의 fs.reddir을 promsie를 리턴하는 함수로 감쌌다.
const readdir = () => {
return new Promise( (resolve, reject) => {
const checkAndPromise = (err, data) => {
if(err) {
reject("nothing");
}else {
resolve(data);
}
};
fs.readdir("./", checkAndPromise);
});
};
new Promise 안에 대상 함수를 넣어서 활용해야 한다.