5분 경에 질문있습니다.
200
작성한 질문수 74
@Post()
@UseGuards(AccessTokenGuard)
@UseInterceptors(TransactionInterceptor)
async postPost(@User("id") userId: number, @Body() body: CreatePostDto, @QueryRunner() qr: QR) {
// temp -> posts로 옮긴다음에 포스팅
const post = await this.postsService.createPost(userId, body, qr);
// throw new InternalServerErrorException("에러가 생겼습니다.");
// 포스트만 생성하고, 이미지는 생성안해버림 throw 에러에서 걸림. 원래는 포스트 게시글이 생기면 안됨.
for (let i = 0; i < body.images.length; i++) {
await this.PostsImagesService.createPostImage(
{
post,
order: i,
path: body.images[i],
type: ImageModelType.POST_IMAGE,
},
qr,
);
}
// Transaction 타입에 따라서 Transaction이 커밋 되기전에 최신 값을 가져오지 못할 수 있다. (service에서 해당 문제 처리 직접 qr받아서)
// 가장 최근상태의 포스트를 받아와서, 반환해줌.
return this.postsService.getPostById(post.id, qr);Transaction 타입에 따라서 Transaction이 커밋 되기 전에 최신 값을 가져오지 못할 수 있다고 하셔서, getPostById service에서 직접적으로 qr을 주입받아서, 사용했는데 정확히 어떤 이유로 최신 값을 못받아오는지 잘 이해가 안가서, 자세히 설명을 해주실 수 있나요?
답변 1
0
안녕하세요!
그렇게 말씀드린 이유는 한 트랜잭션 안에 묶지 않으면 하나의 isolation으로 보지 않을 수 있지 않을까라는 생각이 들었습니다. (테스트해본 사항은 아닙니다)
혹시 이 질문이 맞으실까요?
감사합니다!
cascade 질문
0
88
1
@types/bcrypt 설치과정이 누락된것같습니다.
0
103
1
process.env port key 에러
0
80
1
추상화
0
81
1
[공유] DTO optional 필드가 undefined로 잡혀 TypeORM 조건이 깨지는 현상
0
167
2
where 키워드가 들어가는 메서드와 아닌 메서드
0
90
1
BearerTokenGuard에서 db를 조회해서 유저 정보를 불러오는 이유?
0
98
1
app.controller app.service 는 지워도되나요?
0
104
1
@JoinColumn을 쓰는 경우와 안쓰는 경우의 차이
0
106
1
포트 3000에서 listen하는 곳까지 넘어가지 않습니다.
0
108
1
PickType 사용 시 `as const`를 꼭 사용해야 하나요?
0
145
2
socket connect 오류
0
148
2
강의를 들으면서 궁금한 점
0
143
2
DELETE 요청의 반환값은 어떤 기준으로 결정하는 게 좋을까요?
0
107
2
커리큘럼 질문
0
128
2
put 요청은 언제
0
125
3
typeorm VS prisma
0
410
2
142 강의 > 4:00 > 포스트멘 활용 관련 질문 드립니다.
0
105
2
User 데코레이터 버그 수정 전달드립니다.
0
82
1
git 주소 부탁드립니다.
0
155
2
nest g resource 명령어 에러
0
136
2
로그인 엔드포인트 관련 질문
0
118
2
yarn으로 express 다운 후 node 2_server.js 실행 안되는 경우
0
188
3
"흔히 사용되는 메서드" 강의 관련 질문입니다~
0
126
2





