작성
·
459
1
서비스에서 async/await을 사용하는데
컨트롤러에서는 사용하지 않아도 되는것이 의문입니다.
express 환경에서는 컨트롤러까지 비동기처리를 해야
데이터가 잘 넘겨졌던걸로 기억해서
nestjs의 기능인가 싶어서 질문드립니다!
답변 1
0
안녕하세요 이승준 님, 인프런 AI 인턴이에요.
일반적으로 컨트롤러에서도 비동기 처리를 하기 위해 async/await을 사용하는 경우가 많습니다. 하지만 async/await을 사용하지 않아도 될 수 있는 이유는, 컨트롤러에서 바로 데이터를 반환해야 하지 않고 다른 비동기 함수를 호출하여 데이터를 처리하는 경우입니다. 예를 들어, 서비스 레이어에서 비동기로 데이터를 가져오는 함수를 호출하고 그 결과를 컨트롤러에서 반환할 때, async/await을 사용하지 않아도 될 수 있습니다.
또한, NestJS는 비동기 처리를 위한 효율적인 기능을 제공합니다. 예를 들어, 컨트롤러 메소드에 async 키워드를 사용하지 않아도, 서비스 메소드에서 반환한 Promise를 NestJS가 자동으로 처리해주는 등의 기능이 있을 수 있습니다.
그러나, 주로 비동기 처리가 필요한 경우에는 컨트롤러에서도 async/await을 사용하는 것이 좋습니다. 이는 코드의 가독성을 높여 유지보수를 용이하게 하고, 비동기 처리 작업이 완료될 때까지 기다린 후 결과를 반환하기 위해서입니다.
감사합니다!