/* Page prose (de) */
"WrappingUp" = "# Zusammenfassung\n\nEine Task beginnt in dem Moment zu laufen, in dem du sie erstellst, und sie abzubrechen ist eine höfliche *Bitte*, kein Stopp-Knopf. Fast jede Überraschung in diesem Kapitel lässt sich auf diese beiden Tatsachen zurückführen. Neige zu strukturierter, an einen Gültigkeitsbereich gebundener Arbeit, und behandle die Erkenntnisse unten als die Regeln, die den Abbruch ehrlich halten.\n\n* Eine `Task` **startet sofort**, wenn sie erstellt wird; lies ihr Ergebnis mit `await task.value` (oder `await task.result` für ein `Result`, über das du mit `switch` verzweigen kannst).\n* **Strukturierte** Tasks (`async let`, Task Groups) sind an einen Gültigkeitsbereich gebunden und können ihn nicht überleben. **Unstrukturierte** Tasks (`Task`, `Task.detached`) schweben frei und sind deine Verantwortung; Falle: eine `Task { }` ohne Handle kann weder abgewartet noch abgebrochen werden.\n* Eine einfache `Task` **erbt** Priorität und Actor-Kontext; `Task.detached` erbt **nichts**: ein scharfes Werkzeug, das selten das ist, was du willst.\n* Tasks bilden einen **Baum**: Fehler propagieren nach oben (und brechen Geschwister ab), Abbruch propagiert nach unten zu jedem Kind.\n* Abbruch ist **kooperativ** und niemals ein erzwungenes Anhalten: `cancel()` setzt nur ein Flag, also prüfe es mit `Task.isCancelled`, `try Task.checkCancellation()` oder einem werfenden `Task.sleep` regelmäßig, in jeder langlaufenden Arbeit, sonst ist \"abbrechen\" eine Lüge.\n\n---\n\n## Als Nächstes\n\nDas nächste Kapitel, [AsyncSequence und AsyncStream](AsyncSequence%20and%20AsyncStream.playgroundchapter/Overview), wechselt von einzelnen Tasks zu ganzen *Reihen* von Werten über die Zeit: sie zu konsumieren und zu produzieren mit `AsyncSequence` und `AsyncStream`, wobei du `await` in einer Schleife benutzt.\n\n[Zurück](@previous)  |  Seite 11 von 11";
