Sobes.tech
Junior — Middle

Ποιο αποτέλεσμα επιστρέφει μια ασύγχρονη κλήση σε μια μέθοδο;

sobes.tech AI

Απάντηση από AI

Η ασύγχρονη κλήση μιας μεθόδου σε C# γενικά επιστρέφει ένα αντικείμενο τύπου Task ή Task<T>. Αυτό το αντικείμενο αντιπροσωπεύει μια υπόσχεση (promise) ολοκλήρωσης της λειτουργίας στο μέλλον.

  • Αν η μέθοδος δεν επιστρέφει αποτέλεσμα, επιστρέφει Task.
  • Αν η μέθοδος επιστρέφει αποτέλεσμα τύπου T, επιστρέφει Task<T>, το οποίο περιέχει το αποτέλεσμα μόλις ολοκληρωθεί.

Παράδειγμα:

async Task<int> GetDataAsync()
{
    await Task.Delay(1000); // προσομοίωση ασύγχρονης λειτουργίας
    return 42;
}

Η κλήση GetDataAsync() επιστρέφει άμεσα ένα Task<int>, και το αποτέλεσμα μπορεί να ληφθεί μέσω await ή μέσω της ιδιότητας Result (το τελευταίο μπλοκάρει το νήμα).