理解 Swift 中的异步和等待

问题描述 投票:0回答:1

我正在练习异步调用方法的相当新的方法,但我无法使其工作。在下面的代码中,我希望打印出所有的爱好,但是当我运行它时,什么也没有发生,它只是运行没有错误,但它没有打印任何爱好。

func fetchHobbies() async -> [String] {
    // some asynchronous networking code to get hobbies ...
    let hobbies = ["Cars", "Photography", "Computers"]
    return hobbies
}

func showResults(){
  Task.init{
    let hobbies = await fetchHobbies()
    for hobby in hobbies{
      print("\(hobby)")
    }
  }
}

showResults()

我也尝试过使用

do
catch
但没有运气。

func showResults(){
  Task{
      do {
        let hobbies = await fetchHobbies()
        print(hobbies)
    } catch {
        print("Oops!")
    }
  }
}

showResults()

我做错了什么?

swift asynchronous async-await
1个回答
-2
投票

我刚刚在 Playground 上测试过它,它对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.