我已经在objc io书上看到了这样的示例
<Counter value={this.props.value} />
其中回调为
callback(Result {
if let e = error {
throw e
}
guard let d = data else {
throw NoDataError()
}
return try JSONDecoder().decode(User.self, from: d)
})
似乎Result是Swift定义的枚举类型,它正在使用闭包创建自身?
但是我看不到任何有关此文件的信息
答案 0 :(得分:3)
有一个文档。
该表达式表示init(catching:)的Result方法的结尾闭包语法。描述是
通过评估引发的闭包,将返回的值捕获为成功或将任何引发的错误捕获为失败来创建新结果。
完整语法是
callback(Result(catching: {
if let e = error {
throw e
}
guard let d = data else {
throw NoDataError()
}
return try JSONDecoder().decode(User.self, from: d)
})
)