Ποια είναι η διαφορά μεταξύ των λέξεων-κλειδιών 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.