并发性

使用 async 标记异步运行的函数

funcfetchUserID(fromserver: String) async->Int { if server =="primary" { return97 } return501 }

您还可以通过在函数名前添加 await 来标记对异步函数的调用

funcfetchUsername(fromserver: String) async->String { let userID =awaitfetchUserID(from: server) if userID ==501 { return"John Appleseed" } return"Guest" }

使用 async let 来调用异步函数,并让其与其它异步函数并行运行。 使用 await 以使用该异步函数返回的值。

funcconnectUser(toserver: String) async { asynclet userID =fetchUserID(from: server) asynclet username =fetchUsername(from: server) let greeting =await"Hello \(username), user ID \(userID)" print(greeting) }

使用 Task 从同步代码中调用异步函数且不等待它们返回结果

Task { awaitconnectUser(to:"primary") } //Prints "Hello Guest, user ID 97"