/* Page prose (es) */
"WrappingUp" = "# Resumen\n\nUna tarea empieza a ejecutarse en el momento en que la creas, y cancelarla es una *petición* cortés, no un botón de parada. Casi cada sorpresa de este capítulo se remonta a esos dos hechos. Inclínate por el trabajo estructurado ligado a un ámbito, y trata las conclusiones de abajo como las reglas que mantienen honesta la cancelación.\n\n* Una `Task` **empieza de inmediato** al crearse; lee su resultado con `await task.value` (o `await task.result` para un `Result` sobre el que hacer `switch`).\n* Las tareas **estructuradas** (`async let`, grupos de tareas) están ligadas a un ámbito y no pueden sobrevivirlo. Las tareas **no estructuradas** (`Task`, `Task.detached`) flotan libres y son tu responsabilidad; trampa: una `Task { }` sin referencia no puede esperarse ni cancelarse.\n* Una `Task` simple **hereda** la prioridad y el contexto de actor; `Task.detached` **no hereda nada**: una herramienta afilada que rara vez es lo que quieres.\n* Las tareas forman un **árbol**: los errores se propagan hacia arriba (cancelando a las hermanas), la cancelación se propaga hacia abajo a cada hija.\n* La cancelación es **cooperativa** y nunca una parada forzada: `cancel()` solo pone una bandera, así que compruébala con `Task.isCancelled`, `try Task.checkCancellation()`, o un `Task.sleep` que lanza, periódicamente, en cualquier trabajo de larga duración, o \"cancelar\" es una mentira.\n\n---\n\n## A continuación\n\nEl siguiente capítulo, [AsyncSequence y AsyncStream](AsyncSequence%20and%20AsyncStream.playgroundchapter/Overview), pasa de tareas individuales a *series* enteras de valores a lo largo del tiempo: consumirlos y producirlos con `AsyncSequence` y `AsyncStream`, usando `await` en un bucle.\n\n[Anterior](@previous)  |  página 11 de 11";
