[Javascript ] Promise All
2020. 4. 6. 18:00ㆍSTUDY/WEB
자주 검색 하는 것
Promise All
Dashboard 개발 중 2개이상의 API 요청이 있을 경우
하나가 완료되면 또한번 호출하는 방식은 시간소요가 많음
ex) apiFunc1 (3초) > apiFunc2(5초) >> 총 8초 소요
Promise All 의 경우 2개이상의 API 를 호출하여 제일 마지막에 응답이 오면 진행
ex) apiFunc1 (3초), apiFunc2(5초) >> 총 5초 소요
//비동기처리함수
function apiFunc1(){
return new Promise((resolve, reject) => {
...
})
}
//비동기처리함수
function apiFunc2(){
return new Promise((resolve, reject) => {
...
})
}
const promise1 = apiFunc1();
const promise2 = apiFunc2();
//기본
Promise.all([promise1, promise2]).then((values) => {
console.log(values[0]); // const promise1 = apiFunc1(); 결과
console.log(values[1]); // const promise1 = apiFunc1(); 결과
}).catch((err) => {
/*
에러 처리
둘중 하나라도 에러가 나오면 처리해준다.
*/
});;
//에러 사전 처리
Promise.all([promise1.catch(err=>{return error}), promise2.catch(err=>{return error})]).then((values) => {
console.log(values[0]); // const promise1 = apiFunc1(); 결과
console.log(values[1]); // const promise1 = apiFunc1(); 결과
})
'STUDY > WEB' 카테고리의 다른 글
[Vue.js] 로그인 여부 확인 (0) | 2020.03.27 |
---|---|
[Javascript/jQuery] 문자열 공백체크, 공백제거 (0) | 2020.03.04 |
Git 다운로드 (0) | 2020.01.02 |