Forstå tilbagekald i JavaScript
Tilbagekald er funktioner, der sendes som argumenter til andre funktioner og udføres på et senere tidspunkt. De giver dig mulighed for at udføre et stykke kode på et bestemt tidspunkt i udførelsen af en anden funktion uden at skulle kende den nøjagtige timing eller placering af den påg
ldende kode.
I JavaScript bruges tilbagekald almindeligvis til at håndtere asynkrone operationer, såsom at lave en HTTP anmode om eller indstille en timer. Tilbagekaldsfunktionen sendes som et argument til hovedfunktionen og udføres, når den asynkrone operation er f
rdig.
Her er et eksempel på brug af en tilbagekaldsfunktion i JavaScript:
```
funktion makeRequest(callback) {
// Lav en HTTP-anmodning her
// ...
callback();
}
makeRequest(function() {
console.log("Request completed");
});
```
I dette eksempel tager funktionen `makeRequest` en tilbagekaldsfunktion som et argument, og udfører denne funktion, når HTTP-anmodningen er fuldført. Callback-funktionen sendes som et argument til `makeRequest`-funktionen, og udføres når anmodningen er f
rdig.
Callbacks kan også bruges med løfter, som giver dig mulighed for at håndtere asynkrone operationer på en mere struktureret måde. Her er et eksempel på brug af en tilbagekaldsfunktion med et løfte:
```
funktion makeRequest(callback) {
// Lav en HTTP-anmodning her
// ...
Promise.resolve().then(callback);
}
makeRequest(function() {
console.log("Request completed");
});
```
I dette eksempel returnerer funktionen `makeRequest` et løfte, som derefter løses med tilbagekaldsfunktionen. Callback-funktionen udføres, når løftet er løst, hvilket er når HTTP-anmodningen er fuldført.
Callbacks kan også bruges med begivenheder, såsom museklik eller tastetryk. Her er et eksempel på brug af en tilbagekaldsfunktion med en h
ndelseslytter:
```
document.getElementById("myButton").addEventListener("click", function() {
console.log("Button clicked");
} );
```
I dette eksempel kaldes `addEventListener`-metoden på et HTML-knapelement og sender en tilbagekaldsfunktion som et argument. Når der klikkes på knappen, udføres tilbagekaldsfunktionen og logger en besked til konsollen.