Swift Combine Publisher - обнаружение ошибок от издателя Void
У меня есть издатель с подписью, которую я хочу выполнить в функции и вернуть что-то, чтобы указать, не удалось ли издателю или преуспел. Я пытаюсь понять, какую технику использовать для запуска издателя и возврата результата.
Один из них - передать завершение закрытия и погрузиться в него следующим образом:
func runPublisher(completion: (Error?) -> Void) {
cancellable = MyPublisher()
.sink(receiveCompletion: { result in
switch result {
case .finished: completion(nil)
case .failure(let error): completion(error)
}
},
receiveValue: { _ in })
)
Но я чувствую, что есть способ сделать это лучше. В основном неуклюжим способом я передаю пустое закрытие
Я мог бы просто вернуть
Так есть ли лучший способ написать такую функцию? Какой-то функции объединения я не заметил? Другая подпись для функции?