Junior — Middle
Μπορεί να χρησιμοποιηθεί η κατασκευή async/await μέσα σε μια μέθοδο άλλης μεθόδου;
sobes.tech AI
Απάντηση από AI
Στη Swift (iOS), η κατασκευή async/await χρησιμοποιείται για την εργασία με ασύγχρονο κώδικα. Η μέθοδος στην οποία θέλετε να χρησιμοποιήσετε το await πρέπει να δηλωθεί ως async.
Δεν μπορείτε απλώς να καλέσετε await μέσα σε μια κανονική (συγχρονική) μέθοδο χωρίς να δηλώσετε τη μέθοδο ως async. Ωστόσο, μπορείτε να καλέσετε μια ασύγχρονη μέθοδο μέσα σε μια άλλη ασύγχρονη μέθοδο.
Παράδειγμα:
func fetchData() async -> String {
// ασύγχρονη λειτουργία
return "data"
}
func process() async {
let data = await fetchData()
print(data)
}
Αν χρειάζεται να καλέσετε ασύγχρονο κώδικα από μια συγχρονική μέθοδο, μπορείτε να χρησιμοποιήσετε το Task:
func syncMethod() {
Task {
let data = await fetchData()
print(data)
}
}