<aside> ๐ก ์ด๋ ํ ํญ๋ชฉ๋ ๋ฐฉ์ถํ์ง ์๊ณ , ์ฆ์ onCompleted()๋ฅผ ํธ์ถํ์ฌ ์ ์์ ์ผ๋ก ์ข ๋ฃ๋๋ Observable์ ์์ฑํจ
</aside>
๋ง ๊ทธ๋๋ก ์ด๋ ํ ์ด๋ฒคํธ ํญ๋ชฉ์ ๋ฐฉ์ถ์ํค์ง ์์!
onCompleted() ๋ฉ์๋๋ฅผ ํธ์ถ ํ ์คํธ๋ฆผ์ **โ์ ์์ข
๋ฃโ**๋จ
let observable = Observable<Void>.**empty()**
<aside> ๐ก ์ด๋ ํ ํญ๋ชฉ๋ ๋ฐฉ์ถํ์ง ์๊ณ , ์คํธ๋ฆผ์ด ์ข ๋ฃ๋์ง๋ ์๋ Observable์ ์์ฑ
</aside>
์ด๋ ํ ์ด๋ฒคํธ ํญ๋ชฉ์ ๋ฐฉ์ถ์ํค์ง ์๋๋ค๋ ์ ์์ empty์ ๋์ผํ๋, empty๋ onCompleted()๋ฅผ ํธ์ถ์์ผ ์คํธ๋ฆผ์ ์ ์์ข ๋ฃํ๋ ๋ฐ๋ฉด,
never์ onCompleted()๋ฅผ ํธ์ถ์ํค์ง ์์, ์คํธ๋ฆผ์ด ์ข ๋ฃ๋์ง ์์
๋ฐ๋ผ์ ์ง์ dispose๋ฅผ ์คํ์์ผ์ฃผ๊ฑฐ๋, disposeBag์ ์ด์ฉํด์ dispose๋๊ธฐ ์ ๊น์ง ์คํธ๋ฆผ์ด ์ข ๋ฃ๋์ง ์๋๋ค๊ณ ํ ์ ์์
let observable = Observable<Void>.**never()**
<aside> ๐ก ํน์ ๋ฒ์์ โ์ ์โ๋ฅผ ์์๋๋ก ๋ฐํํ๋ Observable์ ์์ฑ
</aside>

ํด๋น ๋ฒ์ ์์ โ์ ์โ๋ฅผ ๋ชจ๋ ๋ฐํํ ๊ฒฝ์ฐ, onCompleted()๊ฐ ๋ถ๋ฆฌ๋ฉฐ ์คํธ๋ฆผ์ด ์ข ๋ฃ๋จ!