2관문. Race Condition
관문 2 / 7
빠르게 탭을 전환할 때 이전 응답이 늦게 도착해 화면을 덮어쓰는 버그를 ignore 플래그로 방어하라.
📖 이론 비급
Race Condition: 응답 순서 보장하기
A 요청 후 B 요청을 보냈는데, B가 먼저 완료되고 A가 나중에 오면 마지막에 렌더된 것은 B인데 화면은 A의 데이터를 표시한다.
해결책: let ignore = false; 플래그를 선언하고
cleanup에서 ignore = true로 설정한다.
비동기 완료 시 if (!ignore)를 확인하면 해당 Effect가 폐기됐을 때 업데이트를 건너뛴다.