사용했던 곳 :  LOL API 호출

 

구조 : LOL API SERVER <-> JAVA <-> JAVASCRIPT

 

사용한 이유 : 데이터 호출 시, 오래걸리는 요청이 있음 (아래요청이 4만2천 라인 JSON 데이터)

데이터를 받기전에 코드가 실행되는 것을 방지

 

Promise
    resolve 에서 함수를 실행 후 리턴하면, 첫번쨰 then 에서 fulfill , 두번째 then 에서 fail 처리

 

let data = [
  "KR_6208998597",
  "KR_6205788623",
  "KR_6205771899",
  "KR_6205761572",
  "KR_6205760049",
  "KR_6205739603",
  "KR_6205722929",
  "KR_6205707540",
  "KR_6205672619",
  "KR_6202903236",
  "KR_6202839588",
  "KR_6202132677",
  "KR_6201732901",
  "KR_6199858746",
  "KR_6197747393",
  "KR_6196545900",
  "KR_6196408408",
  "KR_6194805433",
  "KR_6194800776",
  "KR_6194658337"
]

async function requestData(data){
    const response = await fetch('http://localhost:8011/match/matchId', {
    method: 'POST', // *GET, POST, PUT, DELETE 등
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(data),
  });
return response.json();
  
}

Promise.resolve()
.then(() => {
    return requestData(data)
}).then(res => {
    console.log(res)
})

입력

 

결과