简介:
我在我的应用程序的某些方面介绍了一个Result框架(对等)。例如,给定此功能:
func findItem(byId: Int, completion: (Item?,Error?) -> ());
foo.findItem(byId: 1) { item, error in
guard let item = item else {
// Error case
handleError(error!)
return;
}
// Success case
handleSuccess(item)
}
Run Code Online (Sandbox Code Playgroud)
我用Result这样实现它:
func findItem(byId: Int, completion: Result<Item,Error>) -> ());
foo.findItem(byId: 1) { result in
swith result {
case let success(item):
// Success case
handleSuccess(item)
case let failure(error):
// Error case
handleError(error!)
}
}
Run Code Online (Sandbox Code Playgroud)
问题 成功案例不返回任何结果时实现结果的正确方法是什么?就像是:
func deleteItem(byId: Int, completion: (Error?) -> ());
foo.deleteItem(byId: 1) { …Run Code Online (Sandbox Code Playgroud)