Junior — Middle
Czy można używać konstrukcji async/await wewnątrz metody innej metody?
sobes.tech AI
Odpowiedź od AI
W Swift (iOS) konstrukcja async/await jest używana do pracy z kodem asynchronicznym. Metoda, w której chcesz użyć await, musi być zadeklarowana jako async.
Nie można po prostu wywołać await w zwykłej (synchronizowanej) metodzie bez zadeklarowania jej jako async. Jednak można wywołać metodę asynchroniczną wewnątrz innej metody asynchronicznej.
Przykład:
func fetchData() async -> String {
// operacja asynchroniczna
return "data"
}
func process() async {
let data = await fetchData()
print(data)
}
Jeśli chcesz wywołać kod asynchroniczny z metody synchronicznej, możesz użyć Task:
func syncMethod() {
Task {
let data = await fetchData()
print(data)
}
}