buttonClickEvent.flatMapLatest { _ in requestStream .do(onSubscribe: { loading = true }, onDispose: { loading = false }) }.do(onDispose: { /* ★1 */ }) .disposed(by: bag)