๐ Quick Start Typescript ์ ์ฝ๊ณ , ๊ฐ๋จํ ๋ชฐ๋๋ ๋ถ๋ถ์ด๋ ์ค์ํ๋ค๊ณ ์๊ฐ๋๋ ๋ถ๋ถ์ ์์ฑ
12์ฅ ๋น๋๊ธฐ ์ฒ๋ฆฌ
๐395p. ๋ธ๋ผ์ฐ์ Promise ์ง์ ํํฉ
IE ์ง์ ์ํจ
Chrome 57 ์ด์
Safari 10 ์ด์
Android Browser 53 ์ด์
IOS safari 10.2 ์ด์
๐SetTimeout 3๋ฒ์งธ ์ธ์
https://developer.mozilla.org/ko/docs/Web/API/WindowTimers/setTimeout
param ~ paramN
: ํ์ด๋จธ ์๋ฃ ์ดํ, ์ถ๊ฐ์ ์ผ๋ก ์ ๋ฌ๋๋ ํ๋ผ๋ฏธํฐ
1 | const promiseAsync = new Promise((resolve, reject) => { |
Promise.all([]) ๊ฒฐ๊ณผ๊ฐ
1 | function asyncDelay(order: number) { |
[p1, p2, p3, p4]์ ๊ฒฐ๊ณผ๊ฐ์ ํ๋ฒ์ ๊ฒฐ๊ณผ๊ฐ์ผ๋ก ์ ๊ณตํด์ฃผ๋ ๊ฒ์ ์ ์ ์์
๐404p. RxJS
RxJS์ ๊ดํ ์ฑ ์ด ์๋๊ธฐ ๋๋ฌธ์, ๊ฐ๋จํ๊ฒ ์ค๋ช ํ๊ณ ๋์ด๊ฐ ๋ฏ ํ๋ค.
๊ฐ๋จํ๊ฒ๋ง ์ ๋ฆฌ
๋ฐ์ํ ํ๋ก๊ทธ๋๋ฐ ๋ชจ๋ธ์ ์คํธ๋ฆผ ํํ์ ์ ๋ ฅ ์ด๋ฒคํธ๋ฅผ ๊ฐ์งํด ๋ฐ์์ ์ฒ๋ฆฌํ ์ ์๋ ๋ชจ๋ธ
์ ๋ ฅ๋ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ๊ด์ธกํ ์ ์๊ณ ๋ค๋ ์ ์๋ ๋์์ด ๋๋ฏ๋ก observables์ด ๋จ
๋ฐํ ๊ตฌ๋ ํจํด
์ต์ ๋ฒ <-> ์ต์ ๋ฒ๋ธ
-> ๊ตฌ๋
<- ํต์ง
์ค์น
1 | npm i @reactivex/rxjs |
Import
1 | import * as Rx from '@reactivex/rxjs'; |
๋ฐ์ดํฐ ์คํธ๋ฆผ์ ํํ
์ ํ1: ๊ท์น์ด ์๊ณ , ์ ํ๋ฒ์๊ฐ ์๋ ๊ฒฝ์ฐ
์ ํ2: ๊ท์น์ด ์๊ณ , ์ ํ ๋ฒ์๊ฐ ์๋
์ ํ3: ๊ท์น์ด ์๊ณ , ์ ํ ๋ฒ์๊ฐ ์๋
์ ํ4: ๊ท์น์ด ์๊ณ , ์ ํ ๋ฒ์๊ฐ ์๋
๋น๋๊ธฐ ์ฝ๋ ์ ์ด์ ๋ฐฉ์ ์ฐจ์ด
promise
์ ๋ค๋ฅด๊ฒ ์คํผ๋ ์ดํฐ ๋ฉ์๋๋ฅผ ์ด์ฉํ์ฌ ์ฐ์์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ๊ด๋ จ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณต
์์ฑ ์ฐ์ฐ์
๋ณํ ์ฐ์ฐ์
์ฝค๋น๋ค์ด์ ์ฐ์ฐ์
์กฐ๊ฑด ์ฐ์ฐ์
ํํฐ๋ง ์ฐ์ฐ์
์์ธํ ์ฌํญ์ RxJs์ ๊ดํ ๋ฌธ์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์๋ต
์ถํ, ๋ณ๋ ๋ฌธ์์์ ๊ณต์ ๋ํ๋จผํธ ์ฐธ๊ณ ํ์ฌ ์์ฑํ๊ธฐ๋กโฆ