프로미스는 자바스크립트 비동기 처리에 사용되는 객체이다. 자바스크립트의 비동기 처리란 ‘특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 먼저 수행하는 자바스크립트의 특성’을 의미한다.
src 디렉터리 아래에 api-config.js 생성
src/service/ApiService.js 생성
위와 같은 유틸리티 함수가 없다면 api요청을 보내는 모든 함수들이 이러한 fetch 함수를 따로 작성해야한다.
ApiService에서 작성한 call 메서드를 사용하면 간단하게 API 콜을 할 수 있다.
App.js의 기존 함수들을 ApiService를 이용해 수정한다.
App.js에서 editItem 함수 수정
사용자의 입력을 받을 때마다(editEventHandler) item을 넘겨서 한 글자마다 HTTP 요청을 보내게 되는 데 이것은 매우 낭비다. 사용자가 수정을 완료한 시점은 인풋필드가 수정 가능한 상태에서 사용 불가능한 상태로 바뀌는 시점이다.
Todo.js에서 editItem()함수에 item을 매개변수로 넘기기
체크박스는 업데이트 될 때마다 백엔드에 HTTP 요청을 보내면 된다.
Todo.js에서 checkboxEventHandler 내의 editItem으로 item넘기기
다음과 같이 PUT 요청을 확인할 수 있다.