Κατανόηση των ανακλήσεων σε JavaScript
Οι επανακλήσεις είναι συναρτήσεις που μεταβιβάζονται ως ορίσματα σε άλλες συναρτήσεις και εκτελούνται αργότερα. Σας επιτρέπουν να εκτελέσετε ένα κομμάτι κώδικα σε ένα συγκεκριμένο σημείο της εκτέλεσης μιας άλλης συνάρτησης, χωρίς να χρειάζεται να γνωρίζετε τον ακριβή χρόνο ή τη θέση αυτού του κώδικα.
Στο JavaScript, οι επανακλήσεις χρησιμοποιούνται συνήθως για το χειρισμό ασύγχρονων λειτουργιών, όπως η δημιουργία ενός HTTP αίτημα ή ρύθμιση χρονοδιακόπτη. Η συνάρτηση επανάκλησης μεταβιβάζεται ως όρισμα στην κύρια συνάρτηση και εκτελείται όταν ολοκληρωθεί η ασύγχρονη λειτουργία.
Ακολουθεί ένα παράδειγμα χρήσης μιας συνάρτησης επανάκλησης σε JavaScript:
``` Αίτημα HTTP εδώ
// ...
callback();
}
makeRequest(function() {
console.log("Request ολοκληρωμένο");
});
```
Σε αυτό το παράδειγμα, η συνάρτηση `makeRequest` λαμβάνει μια συνάρτηση επανάκλησης ως όρισμα και εκτελεί αυτήν τη λειτουργία όταν ολοκληρωθεί το αίτημα HTTP. Η συνάρτηση επανάκλησης μεταβιβάζεται ως όρισμα στη συνάρτηση «makeRequest» και εκτελείται όταν ολοκληρωθεί το αίτημα.
Οι επανακλήσεις μπορούν επίσης να χρησιμοποιηθούν με υποσχέσεις, οι οποίες σας επιτρέπουν να χειρίζεστε ασύγχρονες λειτουργίες με πιο δομημένο τρόπο. Ακολουθεί ένα παράδειγμα χρήσης μιας συνάρτησης επανάκλησης με υπόσχεση:
```
function makeRequest(callback) {
// Κάντε ένα αίτημα HTTP εδώ
// ...
Promise.resolve().then(callback);
}
makeRequest(function() {
console.log("Το αίτημα ολοκληρώθηκε");
});
```
Σε αυτό το παράδειγμα, η συνάρτηση `makeRequest` επιστρέφει μια υπόσχεση, η οποία στη συνέχεια επιλύεται με τη συνάρτηση επανάκλησης. Η συνάρτηση επανάκλησης εκτελείται όταν επιλυθεί η υπόσχεση, δηλαδή όταν ολοκληρωθεί το αίτημα HTTP.
Οι επανακλήσεις μπορούν επίσης να χρησιμοποιηθούν με συμβάντα, όπως κλικ του ποντικιού ή πατήματα πλήκτρων. Ακολουθεί ένα παράδειγμα χρήσης μιας συνάρτησης επανάκλησης με ένα πρόγραμμα ακρόασης συμβάντων:
```
document.getElementById("myButton").addEventListener("click", function() {
console.log("Button clicked");
} );
``` Όταν κάνετε κλικ στο κουμπί, εκτελείται η λειτουργία επανάκλησης και καταγράφει ένα μήνυμα στην κονσόλα.