Swift 中 Result 类型的深入应用与错误处理
1. flatMap 在 Result 类型上的应用
在处理 Optional<Optional<JSON>> 时,我们可以使用 flatMap 将其转换为 Optional<JSON> 。同样,对于 SearchResult<SearchResult<JSON>> ,也能使用 flatMap 将其转换为 SearchResult<JSON> 。
在将 Data 解析为 JSON 时,把 map 替换为 flatMap ,当解析失败时,就能在 flatMap 操作内部返回一个错误结果。以下是示例代码:
func search(term: String, completionHandler: @escaping (SearchResult<JSON>) -> Void) {
// ... snip
callURL(with: url) { result in
let convertedResult: SearchResult<JSON> =
result
//
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



