如果我没有必要的信息,则无法理解如何从可观察序列中提前退出的方法。这是一个简化的示例...
@IBOutlet weak var myTextField: UITextField!
...
myButton.rx.tap. // stop here if textField is nil or empty
.flatMap { API.fetchMyList() }
.subscribe...
答案 0 :(得分:1)
您将希望转换可观察的链以包括文本字段的内容,然后过滤掉您不感兴趣的值。运算符withLatestFrom
将把另一个可观察的值拉入当前链
@IBOutlet weak var myTextField: UITextField!
myButton.rx.tap
.withLatestFrom(myTextField.rx.text)
.filter { $0 != nil && $0?.isEmpty == false }
.flatMapLatest { // here $0 is the value of the text field
API.fetchMyList($0)
}
.subscribe...
作为旁注,您可能希望使用flatMapLatest代替flatMap,以便在再次按下按钮时取消旧请求。