Publishers.TryReduce

์ œ๋„ค๋ฆญ ๊ตฌ์กฐ์ฒด | ์ „๋‹ฌ๋ฐ›์€ ๋ชจ๋“  ์š”์†Œ์— ์—๋Ÿฌ๋ฅผ ๋˜์ง€๋Š” ํด๋กœ์ €๋ฅผ ์ ์šฉํ•˜๊ณ , ์ƒ์œ„์— ํ๋ฅด๋Š” Publisher๊ฐ€ ์ข…๋ฃŒํ•  ๋•Œ ์ถ•์ ๋œ ๊ฐ’์„ ๋‚ด๋Š” Publisher

์ด๋‹ˆ์…œ๋ผ์ด์ €๋Š” ์„ธ ๊ฐœ์˜ ์ธ์ž๋ฅผ ๋ฐ›๋Š”๋‹ค.

  • upstream : ์ƒ์œ„์— ํ๋ฅด๋Š” Publisher

  • initial : ํด๋กœ์ €์˜ ์ฒซ ๋ฒˆ์งธ ํ˜ธ์ถœ์— ์ œ๊ณต๋˜๋Š” ์ดˆ๊ธฐ ๊ฐ’

  • nextPartialResult : ์ƒˆ๋กœ์šด ๊ฐ’์„ ๋‚ด๊ธฐ ์œ„ํ•ด ์ด์ „๊นŒ์ง€ ์ถ•์ ๋œ ๊ฐ’๊ณผ ์ƒ์œ„ Publisher์˜ ๋‹ค์Œ ์š”์†Œ๋ฅผ ์ทจํ•˜๋Š” ์—๋Ÿฌ๋ฅผ ๋˜์ง€๋Š” ํด๋กœ์ €

์ƒ์œ„ Publisher์— ํ๋ฅด๋Š” ๋ชจ๋“  ๊ฐ’์„ ๋ชจ์•„ ์–ด๋– ํ•œ ํ•˜๋‚˜์˜ ๊ฐ’์„ ๋‚ด๊ณ  ์‹ถ์œผ๋ฉฐ ํ•ด๋‹น ์ž‘์—…์ด ์—๋Ÿฌ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ์„ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

tryReduce ์˜คํผ๋ ˆ์ดํ„ฐ์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค.

Publishers.Reduce์˜ ๋™์ž‘๊ณผ ๊ฐ™์œผ๋‚˜ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋‹ค๊ฐ€ ์—๋Ÿฌ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

RxSwift

reduce ์˜คํผ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

ReactiveSwift

ํ•ด๋‹น ๋™์ž‘์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์˜คํผ๋ ˆ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.

์ฐธ๊ณ 

ReactiveX - Operators - Reduce

Publishers.Reduce

Last updated

Was this helpful?