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 안에 대상 함수를 넣어서 활용해야 한다.