
func stories() -> AnyPublisher<[Story], Error> { URLSession.shared .dataTaskPublisher(for: EndPoint.stories.url) .map(\.data) .decode(type: [Int].self, decoder: decoder) .mapError { error -> API.Error in switch error { case is URLError: return Error.addressUnreachable(EndPoint.stories.url) default: return Error.invalidResponse } } .filter({ !$0.isEmpty }) .flatMap { storyIDs in mergedStories(ids: storyIDs) } .scan([]) { stories, story -> [Story] in stories + [story] } .map{ $0.sorted() } .eraseToAnyPublisher() } 光标放在 eraseToAnyPublisher 后面,按 esc ,能看到最后的类型

我的妈,就不能简化下吗
希望能向 RXSwift 学习下吧,别嵌套这么多层了,看着眼晕
1 ostholz 2022-07-08 15:02:04 +08:00 确实 RxSwift 更直观一些. Combine 看着眼累 |
2 ansonsiva 2022-07-08 15:11:58 +08:00 能不用就不用,哈哈哈,必须要用就用别人的 |