인프런 커뮤니티 질문&답변
함수 내 리턴 방법을 어떻게 할지 모르곘습니다.
작성
·
213
0
안녕하세요
프로젝트 진행 중에 방법을 못 찾아서 질문 올립니다.
aws Dynamo DB를 연결 중입니다.
express로 연결 할 때는 res.status(200).json()으로 데이터를 리턴했는데 네스트 서비스단에서 어떻게 값을 리턴할 지 방법을 여러모로 찾아봤는데 방법을 모르겠네요
익스프레스에서 값 리턴할 때는 아래와 같습니다.
res.status(200).json(data.Items) 형태로 값 리턴을 했습니다.
네스트에서는
onScan function 내에서 리턴할 때 express와 같이 res 방법으로 리턴을 해야할 거 같은데 서비스에서는 결합이 커져서 res를 되도록 쓰지 않는게 좋다고 해서 다른 방법을 찾아봤는데 방법을 찾을 수가 없네요..
혹시 이 문제에 대해 방법을 제시해 주실 수 있을까요? ㅠㅠ
답변 2
1
제로초(조현영)
지식공유자
일단 말로만 설명드리자면 데이터를 담은 프로미스를 리턴하시면 됩니다. return new Promise....로요.
컨트롤러에서는 해당 서비스를 await해서 받으시면 됩니다.
0
chirpyworks
질문자
강사님 말씀대로 프로미스를 썼는데 마찬가지로 데이터가 오질 않네요..
컨트롤러 / 서비스 코드 함 확인좀 부탁드리겠습니다...
controller
service
말씀드린대로 Postman으로 호출했을 때 아래와 같이 콘솔에는 잘 찍히는데 리턴값이 안나옵니다..
chirpyworks
질문자
제가 프로미스를 잘못 썼었네요
아래와 같이 docClient.scan을 프로미스로 감싸고 해당 값을 getDatas로 리턴했습니다.
service
controller
강사님 덕분에 겨우 해결했네요
감사합니다ㅎㅎ






아뇨 그렇게 하시면 안 됩니다.
return은 onScan의 return이지 getDatas의 return이 아닙니다. getDatas의 return으로 만드세요.