Junior — Middle
Kun je uitleggen wat asynchrone programmeren is in de context van de Async/Await-constructie?
sobes.tech AI
Antwoord van AI
Asynchrone programmeren met Async/Await stelt je in staat code te schrijven die langdurige operaties (zoals netwerkverzoeken of bestandslezen) uitvoert zonder de hoofduitvoeringsstroom te blokkeren. Het kernidee is dat een met async gemarkeerde functie haar uitvoering kan onderbreken bij de await-instructie, terwijl ze wacht op de voltooiing van een asynchrone operatie, zonder de thread te blokkeren.
Dit vereenvoudigt het werken met asynchroniteit, maakt de code leesbaarder en lijkt op een sequentiële uitvoering, in tegenstelling tot geneste callbacks of promise-ketens.
Voorbeeld 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("Data ontvangen: \(data)")
} catch {
print("Fout: \(error)")
}
}