/* Page prose (zh-Hans) */
"FailingWithAResult" = "# 当回调可能失败时：一个 `Result`\n\n大多数真实的回调 API 也可能*失败*。对于那些情况，你会用到 **`withCheckedThrowingContinuation`**，也就是会抛出的那个姊妹：它的 continuation 除了返回之外还能通过*抛出*来恢复，因此一个失败的回调会让那个等待中的调用抛出。\n\n老式回调 API 用两种经典形态报告失败。你会把两种都桥接一遍，先从 `Result` 开始。\n\n如果回调交给你一个 `Result<Success, Failure>`，有一句话就能搞定：`continuation.resume(with: result)`。它替你拆开 `Result`：在 `.success` 时用值恢复，在 `.failure` 时抛出。";
"FailingWithAResult-2" = "**观察运行：**第一次查询在短暂暂停后完成，并打印出品鉴笔记。第二次通过**抛出**来恢复，于是控制流跳到 `catch`，打印出 `Lookup failed: unknownItem(\"Mystery\")`。从调用者这一侧看，它读起来就像普通的 `try await`：回调和 `Result` 都不见了。\n\n* callout(试一试): 把第二次查询从 `\"Mystery\"` 改成 `\"Guji\"`。现在两次都通过返回来完成，两条品鉴笔记都打印出来，`catch` 从不运行。\n\n[上一页](@previous)  |  第 3 / 8 页  |  [下一页: 用 (value, error) 对报告失败](@next)";
