将多个操作绑定到单个控件事件时,绑定顺序是不是重要?
Posted
技术标签:
【中文标题】将多个操作绑定到单个控件事件时,绑定顺序是不是重要?【英文标题】:Does binding order matter when binding multiple operations to a single control event?将多个操作绑定到单个控件事件时,绑定顺序是否重要? 【发布时间】:2019-06-13 21:38:55 【问题描述】:将两个特定操作绑定到一个按钮点击时,执行顺序是否遵循绑定顺序?
例如,在下面的代码中,有没有办法告诉首先执行什么?
self.resetButton.rx.tap.bind(to: viewModel!.resetPasswordButtonObserver).disposed(by: disposeBag)
self.resetButton.rx.tap.bind [weak self] in
self?.loader.lock()
.disposed(by: disposeBag)
在我的代码中,viewModel 在执行 self?.loader.lock()
块之前调用 API 并执行重置操作,这可能会导致快速连接出现问题。
【问题讨论】:
【参考方案1】:除非您更改执行代码的线程,否则它将按照您编写的顺序执行。
【讨论】:
所以执行顺序服从绑定顺序,除非操作是同时执行的?出于某种原因,我认为所有绑定都是同时执行的。感谢您的回答,我会将其标记为已接受。 RxSwift 默认是同步的。所有工作都在调用订阅的那一刻执行。以上是关于将多个操作绑定到单个控件事件时,绑定顺序是不是重要?的主要内容,如果未能解决你的问题,请参考以下文章