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