Publishers.TryScan

μ œλ„€λ¦­ ꡬ쑰체

μ΄λ‹ˆμ…œλΌμ΄μ €λŠ” μ„Έ 개의 인자λ₯Ό λ°›λŠ”λ‹€.

  • upstream : μƒμœ„μ— 흐λ₯΄λŠ” Publisher

  • initialResult : 초기 κ°’.

  • nextPartialResult : μš”μ†Œμ— μ—°μ†μ μœΌλ‘œ μ μš©ν•  μ—λŸ¬λ₯Ό λ˜μ§€λŠ” ν΄λ‘œμ €

Publisherκ°€ λ‚΄λŠ” μš”μ†Œμ— μ—°μ†μ μœΌλ‘œ ν•¨μˆ˜λ₯Ό μ μš©ν•˜κ³  μ‹€ν–‰ν•œ ν›„, μ„±κ³΅μ μœΌλ‘œ μ‹€ν–‰λœ ν•¨μˆ˜μ˜ λ°˜ν™˜ 값을 λ‚Έλ‹€. ν•¨μˆ˜λŠ” μ—λŸ¬λ₯Ό 던질 수 μžˆλ‹€.

Swift의 reduce ν•¨μˆ˜μ™€ λ™μž‘μ΄ λΉ„μŠ·ν•˜μ§€λ§Œ reduceκ°€ μ΅œμ’… κ²°κ³Όλ§Œμ„ λ°˜ν™˜ν•œλ‹€λ©΄ tryScan은 ν•¨μˆ˜κ°€ 적용된 μš”μ†Œμ™€ λ‹€μŒ μš”μ†Œμ— λŒ€ν•΄ ν•¨μˆ˜λ₯Ό μ μš©ν•˜μ—¬ 각 μš”μ†Œκ°€ μ μ§„μ μœΌλ‘œ κ΅μ²΄λœλ‹€.

ν•¨μˆ˜κ°€ μ—λŸ¬λ₯Ό λ˜μ§€μ§€ μ•ŠμœΌλ©΄ ν•΄λ‹Ή μš”μ†Œμ— λŒ€ν•œ λ³€ν™˜μ€ μ μš©λ˜μ–΄ 값을 λ‚΄κ³ , μ—λŸ¬λ₯Ό λ˜μ§€λ©΄ μ—λŸ¬μ™€ ν•¨κ»˜ μ’…λ£Œν•œλ‹€.

tryScan μ˜€νΌλ ˆμ΄ν„°μ™€ 관련이 μžˆλ‹€.

Publishers.Scan의 λ™μž‘κ³Ό κ°™μœΌλ‚˜ λ™μž‘μ„ μˆ˜ν–‰ν•˜λ‹€κ°€ μ—λŸ¬λ₯Ό λ‚Ό 수 μžˆλ‹€λŠ” 차이가 μžˆλ‹€.

RxSwift

scan μ˜€νΌλ ˆμ΄ν„°μ™€ 관련이 μžˆλ‹€.

ReactiveSwift

ν•΄λ‹Ή λ™μž‘μ„ κ΅¬ν˜„ν•˜κΈ° μœ„ν•œ μ˜€νΌλ ˆμ΄ν„°λ₯Ό μ œκ³΅ν•˜μ§€ μ•ŠλŠ”λ‹€.

μ°Έκ³ 

ReactiveX - Operators - Scan

Publishers.Scan

Last updated