/* Page prose (de) */
"WrappingUp" = "# Zusammenfassung\n\nDer Sinn von `async`/`await` ist Code, der wartet, ohne zu blockieren: er liest sich von oben nach unten, während der Thread für andere Arbeit frei bleibt. Die eine Idee, an der du festhalten solltest, ist, dass `await` eine Stelle markiert, an der deine Funktion *pausieren und ihren Thread zurückgeben* kann, keine Stelle, an der sie einfriert. Alles unten Genannte folgt daraus, dieses Bild richtig zu erfassen.\n\n* Eine **`async`**-Funktion kann pausieren und fortsetzen; du rufst sie mit **`await`** auf, einem *möglichen* Suspendierungspunkt, der den Thread freigibt, statt ihn einzufrieren.\n* Eine **Aufgabe ist kein Thread.** Swift multiplext viele Aufgaben auf einen kleinen kooperativen Pool (~ein Thread pro Kern); eine ausgesetzte Aufgabe gibt ihren Thread zurück und kann auf einem anderen fortsetzen. Einen Pool-Thread zu blockieren (z. B. `Thread.sleep`) ist der klassische Fehler: aussetzen, nicht blockieren.\n* Falle: warte nicht auf unabhängige Arbeit direkt hintereinander; zwei sequenzielle `await`s stapeln ihre Wartezeiten (der versehentliche 2-Sekunden-Latte). Nutze **`async let`**, um unabhängige Arbeit auf einmal zu starten, sodass die Wartezeiten überlappen und die Gesamtzeit schrumpft.\n* Falle: ein `async let`, auf das du nie `await`st, wird am Ende des Geltungsbereichs abgebrochen und sein Ergebnis weggeworfen. `async let` ist ein *Versprechen zu warten*: halte es.\n* Du kannst `await` nur innerhalb eines Async-Kontexts machen; nutze **`Task { }`**, um von synchronem Code herüberzukommen (`await` auf der obersten Ebene kompiliert nicht).\n* **`async throws` + `try await`** bringt Fehler zurück in ein schlichtes `do-try-catch`, weitaus sauberer als die Fehlerverdrahtung mit Completion Handlern. `try` zu vergessen ist ein Compile-Fehler, kein stiller Bug.\n\n---\n\n## Als Nächstes\n\n[Tasks und Abbruch](Tasks%20and%20Cancellation.playgroundchapter/Overview): was eine `Task` wirklich ist, wie Aufgaben einen Baum bilden und wie du Arbeit stoppst, die du nicht mehr brauchst.\n\n[Zurück](@previous)  |  Seite 8 von 8";
