고래를 찾는데 고양이가 나타났다 · 과거의 응답이 오늘을 바꾸지 못하게 · 퀴즈
퀴즈: 취소와 무시의 경계
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
취소 신호를 무시하는 전송 도구가 있다. 화면의 정확성을 지키려면?
- AbortController 객체를 두 개 만들면 충분하다
- 요청을 받은 순서대로 결과 목록을 합치면 된다
- 응답 반영 전에 현재도 유효한 요청인지 검사한다
- catch를 제거해 실패 응답이 보이지 않게 한다
최신 요청이 성공한 뒤 오래된 요청이 실패했다. 필요한 보호는?
- 성공 콜백에서만 이전 응답을 무시한다
- 오류가 있으면 무조건 최신 결과를 지운다
- 오류 메시지에 이전 검색어만 추가한다
- 오류 콜백에도 요청 유효성 검사를 적용한다
결과 무시만 구현하고 요청 취소는 하지 않았다. 어떤 한계가 남는가?
- 화면은 맞아도 필요 없는 작업이 계속 실행될 수 있다
- 정상 결과도 반드시 TypeScript 오류로 바뀌게 된다
- 모든 요청이 브라우저에 의해 자동으로 재전송된다
- 이전 결과와 최신 결과가 반드시 합쳐져 표시된다
사용자가 빈 검색어를 제출한 뒤 이전 응답이 도착했다. 의도에 맞는 동작은?
- 이전 성공 결과를 자동으로 복원한다
- idle을 유지하고 이전 응답을 버린다
- 빈 검색어를 오류로 바꾸어 보여준다
- 이전 응답으로 검색 입력값을 채운다
개발 StrictMode에서 첫 설정의 요청이 남은 채 두 번째 설정이 시작됐다. 먼저 볼 것은?
- 운영 빌드에도 항상 같은 횟수로 실행되는지 여부
- 첫 번째 요청이 두 번째보다 빨리 끝나는지 여부
- 첫 effect의 정리가 외부 작업을 정리했는지 여부
- 컴포넌트 이름이 대문자로 시작하는지 여부
컴포넌트 해제 뒤 화면에 오류가 없다는 사실만으로 확인하지 못한 것은?
- 컴포넌트가 DOM에서 제거되었는지 여부
- 사용자가 새 입력을 할 수 있는지 여부
- 결과 목록이 현재 화면에 보이는지 여부
- 이전 요청과 구독에 정리 신호가 전달됐는지 여부