본문 바로가기
  • Floodnut's Home Directory
프로그래밍/Javascript

Node.JS - Axios를 활용한 HTTP 요청

by Floodnut 2022. 2. 2.

/* dependency */
const express = require("express");
const axios = require("axios");

/* func */
const distance = require("../func/distance");

/* 상수 */
const router = express.Router();
const APPKEY = ""

const headers = { //Post요청에 보낼 Header
    "Content-Type": "application/json",
    "appKey" : APPKEY
}


router.get("/routing", (req, res) => {

    let data = { //Post요청에 보낼 Body
            JSON : data,
            Key : Value
    }
    
    axiosReq(data).then(returnData => { 
        res.send(distance.nodeCheck(returnData.data))
    })
});

const axiosReq = async (data) => {
    const promise = await axios.post('__URL__', data, {headers})
    return promise;
}

module.exports = router;

API 서버에 데이터를 요청하는 서버가 필요하게 되었다.

원래 하던 만들고 있던 Spring Boot 서버에 붙일 수도 있었지만 Node.JS와 비교해서 속도 차이가 나는 바람에 따로 도커에 서버를 올렸다.

 

기존의 문제는 axios로 post요청을 보내면 자바스크립트의 비동기성 때문에 undefined이 반환되는 문제가 있었다.

하지만 급하게 코드를 짜느라 Async-Await나 비동기성에 대해 충분히 학습하지 못했다.

 

위 코드에서 axiosReq함수의 반환 값을 본문에서 사용해야 했지만 본문에서 해당 함수를 호출하고 콜백으로 호출하는 것으로 임시로 해결했다.

 

우선 해결법을 잊지 않으려고 작성하지만 추후에 비동기에 대해 더 학습하고 내용을 추가해보겠다.

 

 

'프로그래밍 > Javascript' 카테고리의 다른 글

Node.JS - Axios를 활용한 HTTP 요청  (1) 2022.02.02
NodeJS - Express 웹 서버 구성 (1)  (0) 2021.02.14
Javascript 기초 (1)  (0) 2021.01.28

태그

, ,

댓글1