더북(TheBook)

18.3.1.4 웹 요청 비동기 작업 처리하기

이번에는 thunk의 속성을 활용하여 웹 요청 비동기 작업을 처리하는 방법에 대해 알아보겠습니다. 웹 요청을 연습하기 위해 JSONPlaceholder(https://jsonplaceholder.typicode.com)에서 제공되는 가짜 API를 사용하겠습니다. 사용할 API는 다음과 같습니다.

# 포스트 읽기(:id 1~100 사이 숫자)
GET https://jsonplaceholder.typicode.com/posts/:id

# 모든 사용자 정보 불러오기
GET https://jsonplaceholder.typicode.com/users

API를 호출할 때는 주로 Promise 기반 웹 클라이언트인 axios를 사용합니다. 해당 라이브러리를 설치해 주세요.

$ yarn add axios

API를 모두 함수화해 주겠습니다. 각 API를 호출하는 함수를 따로 작성하면, 나중에 사용할 때 가독성도 좋고 유지 보수도 쉬워집니다. 다른 파일에서 불러와 사용할 수 있도록 export를 사용하여 내보내 주세요.

lib/api.js

import axios from 'axios';

export const getPost = id =>
  axios.get(`https://jsonplaceholder.typicode.com/posts/${id}`);

export const getUsers = id =>
  axios.get(`https://jsonplaceholder.typicode.com/users`);

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.