Using the async/await syntax
The async
/await
syntax is the backbone of this structured concurrency. Let’s begin by understanding the async
keyword.
async
in Swift means that a function will perform some asynchronous operation, suspending the thread till the operation completes, and returning only when that operation is complete. Unlike a standard function, a function marked with the async
keyword doesn’t block the caller but, rather, allows it to continue executing other tasks.
This is useful to perform IO-bound tasks, computationally intensive calculations, networking calls, and file operations, as it won’t stop the CPU while waiting – for instance, while waiting for data from a network operation.
An example of a Swift async
function, illustrating the async
syntax, is the following example code fragment:
// an example async function import Foundation func fetchData() async -> Data { // perform a network call ...