Sobes.tech
Junior — Middle

Können Sie erklären, was asynchrone Programmierung im Kontext der Async/Await-Konstruktion ist?

sobes.tech KI

Antwort von AI

Asynchrone Programmierung mit Async/Await ermöglicht es, Code zu schreiben, der langwierige Operationen (z.B. Netzwerk-Anfragen oder Dateilesen) ausführt, ohne den Hauptausführungsthread zu blockieren. Die Kernidee ist, dass eine als async gekennzeichnete Funktion ihre Ausführung bei der Anweisung await unterbrechen kann, um auf den Abschluss einer asynchronen Operation zu warten, ohne den Thread zu blockieren.

Dies vereinfacht die Arbeit mit Asynchronität, macht den Code lesbarer und ähnelt einer sequenziellen Ausführung, im Gegensatz zu verschachtelten Callbacks oder Promise-Ketten.

Beispiel in Swift:

func fetchData() async throws -> Data {
    let url = URL(string: "https://example.com/data.json")!
    let (data, _) = try await URLSession.shared.data(from: url)
    return data
}

Task {
    do {
        let data = try await fetchData()
        print("Daten empfangen: \(data)")
    } catch {
        print("Fehler: \(error)")
    }
}