들어가기
1
- 익숙하지 않았던 Promise 메서드 둘과 Iterable
Promise.race()
1
2
- parameter로 iterable이 들어감
- iterable 안에 있는 Promise 중에 가장 먼저 완료된 것을 실행 혹은 거부 함.
Promise.allSettled()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- 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
1
2
3
4
- 반복 가능한 객체 (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](https://helloworldjavascript.net/pages/260-iteration.html)