Swift uses the Task struct to execute code concurrently. We can run a Task and await the return value or we can use in a “fire and forget” manner. We create a task like this
Task { // do something }
We do not need to call a start method or the likes, once created the code starts. If you intend to return a value you’d write something like this
let result = await Task { () -> String in "Hello World" }.value
Ofcourse we might also have the possibility of throwing an exception, hence we’d use
do { let result = try await Task { () -> String in throw MyError.failed }.value } catch { }