Promise 장점
- 실행이 되고, 결과값을 나중에 사용할 수 있다
- 동기는 순서대로 일을 처리하고, 비동기는 한번에 여러 작업을 처리 할 수 있다.
- 일반적인 비동기 처리는 결과값을 바로 사용한다.
- Promise는 결과 값을 내가 원하는곳에서 사용이 가능하다.
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolove();
}, 1000)
});
... // 100 줄
promise.then(() => {
console.log('hello');
})
1. promise를 나중에 결과값을 사용 할 수 있다
promise 메소드
const server1 = axios.get('서버1');
const server2 = axios.get('서버2');
const server3 = axios.get('서버3');
const server4 = axios.get('서버4');
const server5 = axios.get('서버5');
Promise.all(
[server1, server2, server3, server4, server5])
.then((result) => {...})
.catch((error) => {...});
1. all은 하나라도 실패하면 catch로 넘어간다
2. 비효율적이다!
Promise.allSettled(
[server1, server2, server3, server4, server5])
.then((result) => {...})
.catch((error) => {...});
---------------------------------------------------------
2. 실패한 것만 필터링해서 다시 시도하게 할 수 있다