Junior — Middle
Használható az async/await szerkezet egy másik metóduson belül?
sobes.tech MI
Válasz az MI-től
Swift (iOS) környezetben az async/await konstrukciót az aszinkron kód kezelésére használják. A metódus, amelyben használni szeretnéd az await-et, async-ként kell legyen deklarálva.
Nem lehet egyszerűen az await-et hívni egy normál (szinkron) módszerben anélkül, hogy azt async-ként deklarálnád. Azonban, egy másik aszinkron módszerben hívhatsz meg aszinkron módszert.
Példa:
func fetchData() async -> String {
// aszinkron művelet
return "data"
}
func process() async {
let data = await fetchData()
print(data)
}
Ha szinkron módszerből szeretnéd hívni az aszinkron kódot, használhatod a Task-ot:
func syncMethod() {
Task {
let data = await fetchData()
print(data)
}
}