Daily iOS
동시성

동시 요청의 최신 상태만 적용

세금 요약 화면에서 필터를 빠르게 바꾸면 여러 API 요청이 거의 동시에 끝납니다. 마지막에 고른 필터의 결과만 화면에 남게 하려면 요청과 상태 변경을 어떻게 관리하겠습니까?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

필터를 바꿀 때마다 이전 요청 Task를 취소하고 새 요청에 세대 번호를 붙인 뒤, 응답을 상태에 넣기 직전에 그 번호가 현재 세대와 같은지 확인해 오래된 응답은 버린다. 상태 변경은 @MainActor ViewModel 한 곳에서만 한다.

받은 질문 공유