Forstå tilbakeringinger i JavaScript
Tilbakeringing er funksjoner som sendes som argumenter til andre funksjoner, og som utføres på et senere tidspunkt. De lar deg utføre et stykke kode på et spesifikt tidspunkt i utførelsen av en annen funksjon, uten å måtte vite den nøyaktige timingen eller plasseringen av den koden.
I JavaScript blir tilbakeringinger vanligvis brukt til å håndtere asynkrone operasjoner, for eksempel å lage en HTTP be om eller stille inn en tidtaker. Tilbakeringingsfunksjonen sendes som et argument til hovedfunksjonen, og utføres når den asynkrone operasjonen er fullført.
Her er et eksempel på bruk av en tilbakeringingsfunksjon i JavaScript:
```
funksjon makeRequest(callback) {
// Lag en HTTP-forespørsel here
// ...
callback();
}
makeRequest(function() {
console.log("Request completed");
});
```
I dette eksemplet tar `makeRequest`-funksjonen en tilbakeringingsfunksjon som et argument, og utfører den funksjonen når HTTP-forespørselen er fullført. Tilbakeringingsfunksjonen sendes som et argument til `makeRequest`-funksjonen, og utføres når forespørselen er fullført.
Callbacks kan også brukes med løfter, som lar deg håndtere asynkrone operasjoner på en mer strukturert måte. Her er et eksempel på bruk av en tilbakeringingsfunksjon med et løfte:
```
function makeRequest(callback) {
// Lag en HTTP-forespørsel her
// ...
Promise.resolve().then(callback);
}
makeRequest(function() {
console.log("Request completed");
});
```
I dette eksemplet returnerer `makeRequest`-funksjonen et løfte, som deretter løses med tilbakeringingsfunksjonen. Tilbakeringingsfunksjonen utføres når løftet er løst, som er når HTTP-forespørselen er fullført.
Callbacks kan også brukes med hendelser, for eksempel museklikk eller tastetrykk. Her er et eksempel på bruk av en tilbakeringingsfunksjon med en hendelseslytter:
```
document.getElementById("myButton").addEventListener("click", function() {
console.log("Button clicked");
} );
```
I dette eksemplet kalles `addEventListener`-metoden på et HTML-knappelement, og sender en tilbakeringingsfunksjon som et argument. Når knappen klikkes, utføres tilbakeringingsfunksjonen, og logger en melding til konsollen.