【问题标题】: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 并执行重置操作,这可能会导致快速连接出现问题。

【问题讨论】:

    标签: ios bind rx-swift rx-cocoa


    【解决方案1】:

    除非您更改执行代码的线程,否则它将按照您编写的顺序执行。

    【讨论】:

    • 所以执行顺序服从绑定顺序,除非操作是同时执行的?出于某种原因,我认为所有绑定都是同时执行的。感谢您的回答,我会将其标记为已接受。
    • RxSwift 默认是同步的。所有工作都在调用订阅的那一刻执行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多