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 안에 대상 함수를 넣어서 활용해야 한다.
'javascript' 카테고리의 다른 글
try finally 의 return 값은 어떻게 결정 되는 걸까? (0) | 2019.10.04 |
---|---|
javascript] bind vs wrapper (0) | 2018.11.17 |
nodeJs require (0) | 2018.04.13 |
함수형 프로그래밍 : reduce (0) | 2018.04.07 |
promise 대신 async, await를 사용하자 (0) | 2018.03.22 |