我有一个我只想启动一次的 observable。文档说:
使用 dispose bag 或 takeUntil 操作符是确保资源得到清理的可靠方法。我们建议在生产中使用它们,即使序列将在有限时间内终止。
我的 observable 仅在一个事件后终止
let observable = Observable.create() { observer in
webservice.makeHTTPRequestWithCompletionBlock {
if something {
observer.on(.Next(...))
observer.onCompleted()
} else {
observer.on(.Error(...))
}
}
}
假设我对取消这个 observable 的订阅者不感兴趣,我只想让它运行一次并完成。我希望这个 observable 的生命周期在工作本身完成时结束。这意味着我可以看到 disposeBag 没有好的候选人。takeUntil 还期待一个“事件”,而且我看不到好的事件。
现在我只是通过扔掉一次性用品来解决警告:
_ = observeable.subscribeNext { ... }
有没有办法做到这一点,或者我应该使用不同的范例?