forEach vs Promise.all - boostcampwm-2021/WEB25-JustUs GitHub Wiki
-
๋๋ค ๋น๋๊ธฐ์ ์ผ๋ก ์๋ํ๋ค.
-
forEach(๋ ผ๋ธ๋กํน)
- ๋ฐฐ์ด ์์๋ฅผ ๋๋ฉด์ callback์ ์คํํ ๋ฟ, ํ callback์ด ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๋๋ค.
- ์์ฐจ์ฒ๋ฆฌํ๊ณ ์ถ๋ค๋ฉด for, for...of๋ก ๋ณ๊ฒฝ(๋ธ๋กํน)
-
Promise.all
-
๋ฐฐ์ด์ ๋๋ฉด์ ๋ณ๋ ฌ์ ์ผ๋ก ์คํํ๋ค.
-
์ฆ, ๋ชจ๋ promise๋ค์ด resolve๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๊ณ ๋ชจ๋ resolve๋๋ฉด ์๋ก์ด ๋ฐฐ์ด์ ๋ด๋๋ค.
-
ex) A โ 1์ด, B โ 1.1์ด, C โ 1.2์ด ๊ฑธ๋ฆฌ๋ ์์ ์ด ๋ฐฐ์ด์ ์๊ณ promise.all๋ก ๋๋ฆฐ๋ค๋ฉด
1.2์ด๋ง์ ์๋ฃ๋๊ณ A,B,C ์์๋๋ก ์ฒ๋ฆฌ๋๋ค.
-
-
์ต์ข ์ ์ผ๋ก forEach๋ ์์๋ฅผ ๋ณด์ฅํ์ง ์๊ณ Promise.all์ ์์๋ฅผ ๋ณด์ฅํ๋ค.
-
๊ทผ๋ฐ ์ฐจ์ด์ ์ด ์ด๊ฒ๋ฟ??
- ใดใด
- promise.all์ ๊ทธ ๋ฐ์ ์๋ ์ฝ๋๋ค๋ promise.all์ด ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฐ๋ค.
- ํ์ง๋ง forEach๋ ์ฝ๋ฐฑ์ ํธ์ถํด๋ฒ๋ฆฌ๋ฉด ํ ์ผ์ด ๋๋๊ธฐ ๋๋ฌธ์ ํธ์ถํ ์ฝ๋ฐฑ์ด ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋์ง ์์๋ forEach๋ ํ ์ผ์ด ๋๋ ๊ฒ
- ๊ทธ๋์ forEach ์ฒ๋ฆฌ๊ฐ ๋๋๊ธฐ ์ ์ ๊ทธ ๋ฐ์ ์๋ ์ฝ๋๋ค์ด ์คํ๋๋ฒ๋ฆฐ๋ค.
-
๋ฐ๋ผ์ ๋น๋๊ธฐ ์์ ์ ์คํ ํ(์์ฐจ๋ , ๋ณ๋ ฌ์ด๋ ) ๊ทธ ๊ฒฐ๊ณผ๊ฐ์ง๊ณ ๋ค์ ํ ์ผ์ด ์๋ค๋ฉด Promise.all์ ์ฌ์ฉํ ๊ฒ
-
๊ทธ๋ฆฌ๊ณ ์ด์ง๊ฐํ๋ฉด ์ฑ๋ฅ์ ๋ณ๋ ฌ์ฒ๋ฆฌํ์!!