๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

runblocking1

[Android : kotlin] flow ๊ฐœ๋… ์ดํ•ดํ•˜๊ธฐ flow๋ž€? suspend function์€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋‹จ์ผ ๊ฐ’์„ ๋ฆฌํ„ดํ•œ๋‹ค.๐Ÿค”๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ ์—ฌ๋Ÿฌ ๊ฐ’์„ ๋ฆฌํ„ดํ•˜๊ณ  ์‹ถ์œผ๋ฉด ์–ด๋–ป๊ฒŒ ํ•˜์ง€?  ์ด ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด flow์ด๋‹ค.flow๋ฅผ ํ†ตํ•ด ๋น„๋™๊ธฐ์ ์œผ๋กœ ๊ณ„์‚ฐ๋œ ์—ฌ๋Ÿฌ ๊ฐ’๋“ค์„ ๋ฆฌํ„ดํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ flow๋Š” ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. flow์˜ emitemit์€ Flow์— ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฉ์ถœํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. flow ์ƒ์„ฑ์ž ๋‚ด๋ถ€์—์„œ emit ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฉ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.flow์˜ collectcollect์€ ์•ž์„œ emit์„ ํ†ตํ•ด flow์—์„œ ๋ฐฉ์ถœ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.flow๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ์—์„œ collect ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ Flow๋ฅผ ๊ตฌ๋…ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ emit์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฉ์ถœํ•˜๊ณ , co.. 2024. 7. 5.
728x90