Я хочу обрабатывать щелчки таким образом, чтобы они игнорировались до тех пор, пока я выполняю обработку некоторого произошедшего щелчка.
Я думал, что смогу сделать это, используя противодавление, например так:
private val clicks = PublishProcessor.create<Unit>()
// ...
clicks
.onBackpressureDrop()
.concatMapSingle(::handleClick, 0)
Но это выдает ошибку, потому что есть требование, что concatMapSingle
необходимо предварительно выбрать хотя бы один элемент, что заставляет его ставить в очередь клик и обрабатывать его сразу после завершения обработки, чтоне то, что я хочу.Я хочу обработать щелчок, только если в данный момент обработка не происходит.
Есть ли какой-нибудь другой оператор, который я мог бы использовать для достижения желаемого эффекта?