์ด๋ฒคํธ ์ดํดํ๊ธฐ
์คํธ๋ฆผ์ ๋ฐฐ์ธ ๋ on('data', ์ฝ๋ฐฑ) ๋๋ on('end', ์ฝ๋ฐฑ)์ ์ฌ์ฉํ์๋ค. ๋ฐ๋ก data๋ผ๋ ์ด๋ฒคํธ์ end๋ผ๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ์ฝ๋ฐฑ ํจ์๋ฅผ ํธ์ถํ๋๋ก ์ด๋ฒคํธ๋ฅผ ๋ฑ๋กํ ๊ฒ์ด๋ค. createReadStream() ๊ฐ์ ๊ฒฝ์ฐ์๋ ๋ด๋ถ์ ์ผ๋ก ์์์ data์ end ์ด๋ฒคํธ๋ฅผ ํธ์ถํ์ง๋ง, ์ฐ๋ฆฌ๊ฐ ์ง์ ์ด๋ฒคํธ๋ฅผ ๋ง๋ค ์๋ ์๋ค.
- on(์ด๋ฒคํธ๋ช , ์ฝ๋ฐฑ) : ์ด๋ฒคํธ ์ด๋ฆ๊ณผ ์ด๋ฒคํธ ๋ฐ์ ์์ ์ฝ๋ฐฑ์ ์ฐ๊ฒฐํด์ค๋ค. ์ด๋ ๊ฒ ์ฐ๊ฒฐ๋๋ ๋์์ ์ด๋ฒคํธ ๋ฆฌ์ค๋์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. event2์ฒ๋ผ ์ด๋ฒคํธ ํ๋์ ์ด๋ฒคํธ ์ฌ๋ฌ ๊ฐ๋ฅผ ๋ฌ์์ค ์๋ ์๋ค.
- addListener(์ด๋ฒคํธ๋ช , ์ฝ๋ฐฑ) : on๊ณผ ๊ธฐ๋ฅ์ด ๊ฐ๋ค.
- emit(์ด๋ฒคํธ๋ช ) : ์ด๋ฒคํธ๋ฅผ ํธ์ถํ๋ ๋ฉ์๋์ด๋ค. ์ด๋ฒคํธ ์ด๋ฆ์ ์ธ์๋ก ๋ฃ์ด์ฃผ๋ฉด ๋ฏธ๋ฆฌ ๋ฑ๋กํด๋๋ ์ด๋ฒคํธ ์ฝ๋ฐฑ์ด ์คํ๋๋ค.
- once(์ด๋ฒคํธ๋ช , ์ฝ๋ฐฑ) : ํ ๋ฒ๋ง ์คํ๋๋ ์ด๋ฒคํธ์ด๋ค. myEvent.emit('event3')์ ๋ ๋ฒ ์ฐ์ ํธ์ถํ์ง๋ง ์ฝ๋ฐฑ์ด ํ ๋ฒ๋ง ์คํ๋๋ค.
- removeAllListeners(์ด๋ฒคํธ๋ช ) : ์ด๋ฒคํธ์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ์ ๊ฑฐํ๋ค. event4๊ฐ ํธ์ถ๋๊ธฐ ์ ์ ๋ฆฌ์ค๋๋ฅผ ์ ๊ฑฐํ์ผ๋ฏ๋ก event4์ ์ฝ๋ฐฑ์ ํธ์ถ๋์ง ์๋๋ค.
- removeListener(์ด๋ฒคํธ๋ช , ๋ฆฌ์ค๋) : ์ด๋ฒคํธ์ ์ฐ๊ฒฐ๋ ๋ฆฌ์ค๋๋ฅผ ํ๋์ฉ ์ ๊ฑฐํ๋ค. ์ญ์ event5์ ์ฝ๋ฐฑ๋ ํธ์ถ๋์ง ์๋๋ค.
- off(์ด๋ฒคํธ๋ช , ์ฝ๋ฐฑ) : ๋ ธ๋10 ๋ฒ์ ์์ ์ถ๊ฐ๋ ๋ฉ์๋๋ก, removeListener์ ๊ธฐ๋ฅ์ด ๊ฐ๋ค.
- listenerCount(์ด๋ฒคํธ๋ช ) : ํ์ฌ ๋ฆฌ์ค๋๊ฐ ๋ช ๊ฐ ์ฐ๊ฒฐ๋์ด ์๋์ง ํ์ธํ๋ค.
์คํธ๋ฆผ์์ ๋ณด์๋ on('data')์ on('end')
→ ๊ฒ์ผ๋ก ์ด ์ด๋ฒคํธ๋ฅผ ํธ์ถํ๋ ์ฝ๋๋ ์์ง๋ง, ๋ด๋ถ์ ์ผ๋ก๋ chunk๋ฅผ ์ ๋ฌํ ๋๋ง๋ค data ์ด๋ฒคํธ๋ฅผ emitํ๊ณ ์๋ค. ์๋ฃ๋์์ ๊ฒฝ์ฐ end ์ด๋ฒคํธ๋ฅผ emitํ ๊ฒ์ด๋ค.
'Dev.log > Node.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Node.js ๊ต๊ณผ์] #8. ์์ฒญ๊ณผ ์๋ต ์ดํดํ๊ธฐ (0) | 2021.06.29 |
---|---|
[Node.js ๊ต๊ณผ์] #7. ์์ธ ์ฒ๋ฆฌํ๊ธฐ (0) | 2021.06.29 |
[Node.js ๊ต๊ณผ์] #5. ํ์ผ ์์คํ ์ ๊ทผํ๊ธฐ (0) | 2021.06.29 |
[Node.js ๊ต๊ณผ์] #4. ๋ ธ๋ ๋ด์ฅ ๋ชจ๋ ์ฌ์ฉํ๊ธฐ (1) | 2021.06.29 |
[Node.js ๊ต๊ณผ์] #3. ๋ ธ๋ ๋ด์ฅ ๊ฐ์ฒด ์์๋ณด๊ธฐ (1) | 2021.06.24 |