【发布时间】:2018-08-14 00:20:56
【问题描述】:
我有 2 个正在连接的流。如果第一个流执行onError 而不是onComplete,我不应该连接第二个流。
示例:
func updateEntity(entities: [Member]) -> Observable<[Result<Member>]> {
let remoteUpdate = remoteStore.update(entities: entities)
return remoteUpdate.concat(localStore.update(entities: entities))
}
如果remoteUpdate 抛出错误,我不应该更新localStore,在remoteUpdate 中调用onError
更新:
public override func update(entities: [PlaceAlert]) -> Observable<[Result<PlaceAlert>]> {
let remoteUpdate = remoteStore.update(entities: entities)
var entityPlaceHolder: [PlaceAlert] = entities
return remoteUpdate.catchError { _ in
entityPlaceHolder = []
return localStore.update(entities: entityPlaceHolder)
}.concat(localStore.update(entities: entityPlaceHolder))
}
只是尝试即兴创作。这会有什么不同吗?如果出现错误,带有 emptyArray 的 LocalUpdate 不会执行任何操作
【问题讨论】:
标签: swift rx-swift reactive-cocoa