인프런 커뮤니티 질문&답변

카이님의 프로필 이미지

작성한 질문수

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

async await 함수 사용에 대해서 문의드립니다.

작성

·

278

1

아직 노드버드 ch10 진행중입니다.

진행하면서 다른 글들도 참고하면서 진행중인데요

async await 사용 방식에 대해 문의드립니다.

DB 데이타 조회, 생성 시 async 로 진행하는데

코딩 방식1

try{

const user = await User.findOne(...);

...

await user.addFollowing(...);

}catch(err){

next(err);

}

코딩 방식2

User.findOne()

.then((result) => {

user.addFollowing(...);

})

.then((result) => {

...

})

.catch((err) => { next(err)});

방식1은 await 키워드로 비동기 함수 호출하는 방식이구

아래는 then 을 통해 비동기 함수 호출 하는 방식인듯 한데요.

둘중 많이 쓰는 방식이 있을까요..?

답변 3

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

당연히 1번입니다. 2번으로 하면 불편하다는 게 느껴지지 않으시나요?

1

둘다 비동기 함수를 호출하는건 맞지만 async await가 promise보다 더 괜찮은 방법이라구 생각합니다. 왜냐하면 promise then과같은 체이닝 방식을 계속해서 사용하면 이것또한 콜백지옥처럼 코드 가독성 좋지않게 주욱 늘어날 가능성이 높다고 생각합니다. 그리고 async await는 비동기 호출이지만 동기적으로 작동하는것 처럼 보이기에 아무래도 코드 가독성 면에서 더 좋다고 생각합니다.

0

카이님의 프로필 이미지
카이
질문자

두분 모두 답변 감사합니다

카이님의 프로필 이미지

작성한 질문수

질문하기