【发布时间】:2018-06-25 18:22:59
【问题描述】:
是否可以在生产者构建器内部处理生产者取消?取消订阅回调可能很有用:
private fun changes(key: String) = produce<Unit>(UI, CONFLATED) {
val listener = OnSharedPreferenceChangeListener { _, changedKey ->
if (key == changedKey) offer(Unit)
}
prefs.registerOnSharedPreferenceChangeListener(listener)
???.onCancel {
prefs.unregisterOnSharedPreferenceChangeListener(listener)
}
}
或者可能存在另一种实现这种情况的方式?
【问题讨论】:
标签: android kotlin kotlin-coroutines