해결된 질문
23.09.01 15:58 작성
·
369
0
product.service.ts에서 create, findOne, findAll을 만들때는 async, await를 사용하지 않았습니다.
그리고 create 만들 때 nest에서는 이걸 호출하는 곳(resolver)에서 자동으로 기다리고 있기 때문이라고 하셨는데요.
다만, 시간이 걸리기 때문에 Return type은 Promise<Product>로 했고요.
근데 update, delete를 하실때는 async, await를 사용하셨는데요.
어떤 이유가 있을까요??
답변 1
0
2023. 09. 03. 12:40
안녕하세요! yisi님!
사실 모든 구간에서 await를 사용해 주셔야 합니다!
해당 결과를 기다려야 하기 때문이죠! 특히, nestjs를 사용하지 않고, express만 사용하시는 경우에는 해당 문제 상황을 직접 재현해 보실 수도 있답니다!
따라서, 결과를 기다리기 위해서는 await를 사용해 주셔야 하는데,
여기에는 1.기다린 결과에 대한 어떠한 처리 없이 그냥 리턴해 주는 경우가 있을 수 있고,
2.기다린 결과를 받아오고 다음 줄에서 어떠한 처리를 해주는 경우가 있어요!
이 중에서1번의 경우에는 nestjs에서 자동으로 기다려주기 때문에, await를 붙이셔도 되지만 빼셔도 정상적으로 작동하게 돼요!