728x90
async await는 실무 하다보면 땔래야 땔 수 없는 패턴인데, 막상 신입들에게 promise 반환하는 함수를 직접 짜라고
하면 어디서 부터 해야 하는지 고민하는 경우가 종종 있어서, 간단하게 설명하려고 한다.
1. return 을 new Promise(resolve, reject) 로 하는 함수를 만든다.
2. Promise 안에 로직을 작성하고 try catch 로 reject를 잡아준다.
3. 로직 끝나면 resolve(result) 등으로 리턴값을 전달한다.
코드로 설명하면 다음과 같다
function somethingHappened() {
return new Promise((res,rej) => {
try{
...
여기에 무언가 로직을 작성한다.
...
} catch (err) {
reject(err);
}
// Promise 중첩하는 경우가 많기 때문에 resolve 하나로 Promise 하나 빠져나간다는 것 기억해야함
resolve(true);
})
}
이렇게 하나 알아두면 이제 막 블로킹도 쉽게 할 수 있다.
async function 무슨일이냐() {
await somethingHappened();
await somethingHappened2();
await somethingHappened3();
...
...
}
axios 같은 것도 까보면 다 똑같다.
'언어 > JS-nodeJS' 카테고리의 다른 글
즉시실행 함수를 이용하여 최상위 레벨에서 async-await 사용 (0) | 2023.03.06 |
---|---|
nodeJS 팁 - Be stateless, kill your Servers almost every day (0) | 2023.03.06 |
JS2022 변경점 : async 없이 최상단에서 await 사용 가능 (0) | 2022.07.11 |