在 SwiftUI 中观察 PassthroughSubject 中的错误
Observe errors in PassthroughSubject in SwiftUI
假设我有以下 PassthroughSubject
,在 ObservableObject
的某处:
@Published var errorOccured = PassthroughSubject<(), Error>()
我向它发送错误:
self.errorOccured.send(completion: .failure(error))
如何在发生错误时在 View
中收到通知?我知道使用 onReceive
可以通知我值,但我对错误感兴趣。
请记住,您正在发出一个完成事件,因此您只能在使用您概述的方法后发出一个错误。如果您要在 SwiftUI 中处理完成事件,您的 UI 将在事后被冻结。这不太可能是您想要的,而且我认为图书馆没有提供这样的方法。考虑改用 PassthroughSubject<Error, Never>
。
假设我有以下 PassthroughSubject
,在 ObservableObject
的某处:
@Published var errorOccured = PassthroughSubject<(), Error>()
我向它发送错误:
self.errorOccured.send(completion: .failure(error))
如何在发生错误时在 View
中收到通知?我知道使用 onReceive
可以通知我值,但我对错误感兴趣。
请记住,您正在发出一个完成事件,因此您只能在使用您概述的方法后发出一个错误。如果您要在 SwiftUI 中处理完成事件,您的 UI 将在事后被冻结。这不太可能是您想要的,而且我认为图书馆没有提供这样的方法。考虑改用 PassthroughSubject<Error, Never>
。