본문 바로가기

JavaScript/Ajax, Axios(비동기 통신)

axios 모듈화하기

반응형

axios 뿐만 아니라 

다른 라이브러리를 사용할때는 

라이브러리에 의존적이지 않게 따로 모듈화를 진행하는것이 좋다고 한다..

import axios from "axios";
import router from "../router";

const DOMAIN = "http://localhsot:3000";
const UNAUTHORIZED = 401;
const onUnauthorized = () => {
    //다른 url로 이동
    router.push("/login");
};

const request = (method, url, data) => {
    return axios({
            method,
            url: DOMAIN + url,
            data
        })
        .then(result => result.data)
        .catch(result => {
            console.log(result);
            //result.status
            const { status } = result.response;
            if (status === UNAUTHORIZED) return onUnauthorized();
            return Error(result);
        });
};

export const board = {
    fetch() {
        return request("get", "/boards");
    }
};
import axios from "axios";

const DOMAIN = "http://localhost:9000";
axios.defaults.withCredentials = true; // 쿠키 데이터를 전송받기 위해
export const request = (method, url, data) => {
  return axios({
    method,
    url: DOMAIN + url,
    data,
  })
    .then((res) => res.data)
    .catch((err) => console.log(err));
};
반응형