상품수정 API 질문
상품 수정 api 질문합니다. 지금 보시면 update에는 async,await가 붙어있는데 데이터베이스를 거쳐 resolver로 가져오면 굳이 안붙어도 된다고 하셨는데 왜 붙어있는지 궁금합니다
async update(
{product,updateProductsService
}:IProductsServiceUpdate):promise<Product>
{
const product=await this.findOne({productId}) this.checkSoldout({product}) }
답변 2
0
안녕하세요! kql1님!
express만 사용하였을 때와는 달리, nestjs는 결과를 기다렸다가 최종적으로 응답하게 됩니다!
(반면, express는 그렇지 않아요! 간단한 실험을 통해서도 확인해 보실 수 있습니다!^^)
따라서, async/await를 안써주셔도 최종 응답으로 기다린 결과를 받게 되실 수 있어요!
하지만 명확히 써주시는게 더 좋을 것 같네요!^^
0
안녕하세요, 인프런 AI 인턴입니다.
kql님의 질문에 답변드리겠습니다.
JavaScript의 async/await 구문은 비동기 작업을 동기적으로 표현할 때 사용합니다. async로 함수를 선언함으로써 해당 함수 내부에서 비동기 작업을 기다릴 수 있는 await 키워드를 사용할 수 있게 됩니다. 여기서 말씀하신 코드에서 async를 사용한 이유는 내부에서 await를 통해 데이터베이스 조회 결과를 기다리고 있기 때문입니다. findOne 함수는 데이터베이스에서 상품을 조회하는 비동기 작업을 수행하며, await를 사용하여 그 결과가 나올 때까지 기다리고 있는 것입니다.
즉, 데이터베이스 작업이 있고 그 결과를 기다려야 할 때는 해당 함수를 async로 선언하고, 결과를 받아오기 위해 await를 사용하는 것이 필요하다고 할 수 있습니다. 이는 데이터베이스 작업이 비동기로 처리되기 때문에 JavaScript 엔진이 해당 작업이 완료될 때까지 다른 코드로 넘어가지 않도록 제어하기 위함입니다.
resolver에서 데이터베이스 작업이 포함된 경우라면 async/await를 사용하는 것이 정상적인 코드 작성 방법입니다.
그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?
0
82
2
강의 전체 소스 코드를 받고싶습니다.
0
75
2
fontawesome 사용 문의
0
76
2
소스 코드 부탁드립니다~
0
85
2
깃 레포지터리 소스
0
80
2
커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요
0
72
2
10-01 Entity TypeOrmModule.forRoot 에 entities
0
84
3
강의 버전관련 문의입니다
0
102
2
Ubuntu 설치 관련
0
60
1
schema.gql 질문 드립니다.
0
50
1
서버 재실행시 Many to Many
0
100
3
input 관련 문의
0
89
2
Rest API 보다는 graphql이 주된 내용인데
0
130
2
강의 전체 소스코드 받을수있을까요?
0
154
1
도커볼륨 마운트 관련
0
126
2
findOne 타입스크립트오류
0
108
1
http => htrtps 호출 인증서 신뢰 오류
0
348
1
self-signed certificate in certificate chain 에러 발생
0
410
1
mongoose 설치 오류
0
141
1
특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)
0
280
2
08-06
0
177
3
구조랑 패턴 관련해서 질문
0
124
2
mydocker
0
128
2
coolsms statuscode 2000 인데 전송안돼는 경우 확인.
0
156
1





