Sobes.tech
Junior

Ποια είναι η διαφορά μεταξύ των λέξεων-κλειδιών async και await;

sobes.tech AI

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

Η βασική διαφορά μεταξύ async και await στη JavaScript (και σε άλλες γλώσσες με υποστήριξη ασυγχρονικότητας) βρίσκεται στον σκοπό και τη χρήση τους:

  • Το async είναι μια λέξη-κλειδί που χρησιμοποιείται για τον ορισμό μιας συνάρτησης ως ασύγχρονης. Μια τέτοια συνάρτηση επιστρέφει πάντα μια Promise, ακόμη και αν δεν υπάρχει ρητή επιστροφή Promise μέσα σε αυτή.

  • Το await είναι ένας τελεστής που χρησιμοποιείται μέσα σε async συναρτήσεις για να περιμένει το αποτέλεσμα μιας Promise. Αναστέλλει την εκτέλεση της συνάρτησης μέχρι να ολοκληρωθεί η Promise και επιστρέφει το αποτέλεσμα της.

Παράδειγμα:

async function fetchData() {
  const response = await fetch('https://api.example.com/data');
  const data = await response.json();
  return data;
}

fetchData().then(data => console.log(data));

Εδώ, το async δηλώνει ότι η συνάρτηση fetchData είναι ασύγχρονη, και το await επιτρέπει τη συγγραφή ασύγχρονου κώδικα με τρόπο συγχρονικό, περιμένοντας την ολοκλήρωση των promises.