一、描述
创建一个只在Observable生命周期内存在的一次性资源。
Using操作符让你可以指示Observable创建一个只在它的生命周期内存在的资源,当Observable终止时这个资源会被自动释放。
using操作符接受三个参数:
- 一个用户创建一次性资源的工厂函数
- 一个用于创建Observable的工厂函数
- 一个用于释放资源的函数
当一个观察者订阅using返回的Observable时,using将会使用Observable工厂函数创建观察者要观察的Observable,同时使用资源工厂函数创建一个你想要创建的资源。当观察者取消订阅这个Observable时,或者当观察者终止时(无论是正常终止还是因错误而终止),using使用第三个函数释放它创建的资源。
using默认不在任何特定的调度器上执行。
二、示意图
三、示例代码
1 | class Animal { |
四、运行结果
1 | Animal create. |
从运行结果可以看出,经过5秒后,timer发射了一个数据项,Observable就终止了,using就使用第三个函数释放它创建的资源。
五、参考资料
PS:欢迎关注 SherlockShi 个人博客