/* Page prose (es) */
"GettingAValueBack" = "# Obtener un valor de vuelta\n\nUna tarea puede *devolver* un valor, y lo lees haciendo `await` sobre su propiedad `value`. Como el trabajo puede seguir ejecutándose, leer el valor es en sí mismo un `await`.";
"GettingAValueBack-2" = "**Míralo en acción:** `Order placed...` se imprime primero, luego una pausa, luego `Served: a double espresso`. La tarea externa se suspendió en `await order.value` hasta que la tarea interna produjo su resultado, y luego retomó exactamente donde lo había dejado.\n\nSi la tarea puede lanzar, `value` también lanza, así que escribes `try await task.value`. Cuando prefieres inspeccionar el desenlace sin un `do-try-catch`, recurre a `task.result`, que te entrega un `Result` sobre el que puedes hacer `switch`:\n\n```swift\nenum BarError: Error { case outOfBeans }\n\nTask {\n    let order = Task { () -> String in\n        try await Task.sleep(for: .milliseconds(200))\n        throw BarError.outOfBeans\n    }\n\n    switch await order.result {\n    case .success(let cup): print(\"Served: \\(cup)\")\n    case .failure(let error): print(\"Couldn't serve: \\(error)\")\n    }\n}\n```\n\n`await order.result` nunca lanza; el error está *dentro* del `Result`. Verás `Couldn't serve: outOfBeans`.\n\n[Anterior](@previous)  |  página 3 de 11  |  [Siguiente: Estructuradas vs. no estructuradas](@next)";
