[ES] Promise allSettled
오늘의 ES 마지막 포스팅이다. 화이팅!
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled
Promise.allSettled() - JavaScript | MDN
Promise.allSettled() 메소드는 배열이나 별도의 나열 가능한 객체를 통해 나열된 Promise모음이 모두 이행하거나 거부했을 때에 대한 대응을 할 수 있는 Promise 객체를 반환한다.
developer.mozilla.org
promise.allSettled() 메서드는 배열이나 별도의 나열 가능한 객체를 통해 나열된 Promise모음이 모두 이행하거나 거부했을 때에 대한 대응할 수 있는 Promise객체를 반환한다.
자 Promise.all()을 기억해보자 all은 여러 promise들중 하나라도 끝내지 못한다면 거절된다.
전부 제대로 이행하면 그때야 전부 배열로 반환한다.
Promise.allSettled는 모두 성공할 필요가 없다. 또한 배열로 반환하지 않고 오브젝트로 반환이 된다.
이렇게~~ object형태로 status 와 value 가 출력된다.
allsettled를 사용하면 모두 성공하지 않아도 되는 이유가 이것이다.
실패했다면 그이유도 출력해준다. 성공했다면 그 값을 반환해주고 전부다 실행시켜준다.
어디에 사용하는 것일까.. 모든 promise가 잘 작동하는지 확인할 필요가 없으면 allSettled를 사용하면된다.
반대로 확인을 해야한다면 all을 사용해주자.
기본적으로 all은 서로 관계가 있는 promise들을 동작시킬때 사용한다. 하나라도 실패하면 의미없는 promise인것