Project/실시간 채팅 앱
Client측 Data클래스 간소화하기
CoderHan
2022. 9. 25. 17:02
반응형
기존에 fetch로 서버에 요청을 보내는 클래스내에서 Content-type, res.json, throw Error 등 같은 코드들이
반복적으로 쓰여졌다. 따라서 코드 중복을 줄이고 이를 처리해줄 수 있는 network 클래스를 만들었다.
HttpClient 클래스에서 baseURL로 서버를 받아오고 fetch라는 함수를 만들었다. 매게변수로 url과 옵션이 있는데
url은 GET, POST등에 따른 쿼리와 파라미터를 전달받고 options는 요청을 보낼 때 다른 옵션 과 header를 전달받았다.
이렇게 해서 들어온 data는 try와 catch로 전달해주었으며 원하는 statusCode가 아니더라도 Error가 발생하지 않으므로
if문으로 한번 더 에러처리를 해주었다.
network클래스를 만들어주고 나니 ChatService 클래스가 이렇게 간소화 됐다. 가독성과 유지보수성을 높여주는 리팩토링은 항상 옳다.
반응형