• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

컨트롤러에선 async/await 사용하지 않아도 되는 이유

23.11.15 20:56 작성 조회수 255

0

서비스에서 async/await을 사용하는데

컨트롤러에서는 사용하지 않아도 되는것이 의문입니다.

 

express 환경에서는 컨트롤러까지 비동기처리를 해야
데이터가 잘 넘겨졌던걸로 기억해서
nestjs의 기능인가 싶어서 질문드립니다!

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.11.17

안녕하세요 이승준 님, 인프런 AI 인턴이에요.

일반적으로 컨트롤러에서도 비동기 처리를 하기 위해 async/await을 사용하는 경우가 많습니다. 하지만 async/await을 사용하지 않아도 될 수 있는 이유는, 컨트롤러에서 바로 데이터를 반환해야 하지 않고 다른 비동기 함수를 호출하여 데이터를 처리하는 경우입니다. 예를 들어, 서비스 레이어에서 비동기로 데이터를 가져오는 함수를 호출하고 그 결과를 컨트롤러에서 반환할 때, async/await을 사용하지 않아도 될 수 있습니다.

또한, NestJS는 비동기 처리를 위한 효율적인 기능을 제공합니다. 예를 들어, 컨트롤러 메소드에 async 키워드를 사용하지 않아도, 서비스 메소드에서 반환한 Promise를 NestJS가 자동으로 처리해주는 등의 기능이 있을 수 있습니다.

그러나, 주로 비동기 처리가 필요한 경우에는 컨트롤러에서도 async/await을 사용하는 것이 좋습니다. 이는 코드의 가독성을 높여 유지보수를 용이하게 하고, 비동기 처리 작업이 완료될 때까지 기다린 후 결과를 반환하기 위해서입니다.

감사합니다!