AsyncStream
-
[Swift] Understanding Swift Concurrency’s AsyncStreamSwift 2023. 8. 17. 09:25
์ด์ ๊ธ์์ ๊ธฐ์กด์ ๋น๋๊ธฐ ์ฝ๋๋ฅผ async/await์ ํ์ฉํ๋ Swift์ ์๋ก์ด ๋์์ฑ ์์คํ ์ผ๋ก ์ฐ๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํ์ต๋๋ค. ์ฌ๊ธฐ์ ์ค๋ช ํ ๋ฉ์ปค๋์ฆ์ ์ฝ๋๊ฐ ๋จ์ผ ๊ฐ์ผ๋ก ๋ชจ๋ธ๋งํ ์ ์๋ ๋จ์ผ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋ ์ฝ๋์ ์ ํฉํฉ๋๋ค. ๋ค์ด๋ก๋ ์งํ๋ฅ , ์ฌ์ฉ์์ ํ์ฌ ์์น์ ๊ฐ์ด ์๊ฐ์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฐ์ ์ ๊ณตํ๋ ๊ฒฝ์ฐ, ๋น๋๊ธฐ for ๋ฃจํ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ๋ณตํ ์ ์๋ AsyncSequence ๊ฐ์ฒด๋ก ๋ชจ๋ธ๋งํ ์ ์์ต๋๋ค. ์ด์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์์ ๋ก URL์ lines ์์ฑ์ ๋ค ์ ์์ต๋๋ค. let url = URL(string: "")! for try await line in url.lines { // use line } ๊ทธ๋ ๋ค๋ฉด ์ปค์คํ ๋น๋๊ธฐ ์ํ์ค๋ฅผ ์์ฑํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ฌด์์ผ๊น์?..