首页 > 解决方案 > 在 SwiftUI 中观察 PassthroughSubject 中的错误

问题描述

假设我在PassthroughSubject某处有以下内容ObservableObject

@Published var errorOccured = PassthroughSubject<(), Error>()

我向它发送一个错误:

self.errorOccured.send(completion: .failure(error))

View发生错误时如何通知我?我知道onReceive我可以收到值通知,但我对错误感兴趣。

标签: swiftswiftuicombine

解决方案


请记住,您正在发出完成事件,因此您只能使用您概述的方法发出一次错误。如果你要在 SwiftUI 中处理完成事件,你的 UI 会在事后冻结。这不太可能是您想要的,而且我不认为该库提供了这样的方法。考虑使用 aPassthroughSubject<Error, Never>代替。


推荐阅读