Εισαγωγή
Η JavaScript είναι μια μονονηματική (single-threaded) γλώσσα προγραμματισμού, που σημαίνει ότι μπορεί να εκτελεί μόνο μία εντολή κάθε στιγμή. Αυτό θα μπορούσε να προκαλέσει προβλήματα όταν χρειάζεται να εκτελέσουμε χρονοβόρες λειτουργίες, όπως:
- Αιτήματα δικτύου (HTTP requests)
- Ανάγνωση/εγγραφή αρχείων
- Πρόσβαση σε βάσεις δεδομένων
Για να αντιμετωπίσει αυτήν την πρόκληση, η JavaScript χρησιμοποιεί ασύγχρονο προγραμματισμό.
Τι είναι ο ασύγχρονος προγραμματισμός;
Ο ασύγχρονος προγραμματισμός επιτρέπει στον κώδικα να συνεχίσει την εκτέλεσή του ενώ περιμένει την ολοκλήρωση κάποιας λειτουργίας. Αντί να περιμένει (blocking), η JavaScript μπορεί να συνεχίσει να εκτελεί άλλες εργασίες και να επιστρέψει στην ασύγχρονη λειτουργία όταν ολοκληρωθεί.