Promise.race(), Promise.allSettled(), Iterable
Promise.race(), Promise.allSettled(), Iterable
게시일: 2023.01.04
들어가기
- 익숙하지 않았던 Promise 메서드 둘과 Iterable
Promise.race()
- parameter로 iterable이 들어감 - iterable 안에 있는 Promise 중에 가장 먼저 완료된 것을 실행 혹은 거부 함.
Promise.allSettled()
- parameter로 iterabled이 들어감 - iterable 안에 있는 모든 Pormise가 실행 혹은 거부된 후 결과값 객체를 반영 ``` const promise1 = Promise.resolve(3); const promise2 = new Promise((resolve, reject) => setTimeout(reject, 100, 'foo')); const promises = [promise1, promise2]; Promise.allSettled(promises). then((results) => results.forEach((result) => console.log(result.status))); // expected output: // "fulfilled" // "rejected" ```
Iterable
- 반복 가능한 객체 (Iterable Object) - es2015에서 도입 - 생성자 중 iterable 객체를 만들어내는 생성자는 다음과 같음. - `String`, `Array`, `TypedArray`, `Map`, `Set`
Reference
- mdn web docs, Promise.allSettled(), https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/allSettled, 2022.12.29
- mdn web docs, Promise.race(), https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise/race, 2022.12.29
- Iterable | JavaScript로 만나는 세상, https://helloworldjavascript.net/pages/260-iteration.html, 2021.9