Förstå återuppringningar i JavaScript
Callbacks är funktioner som skickas som argument till andra funktioner och exekveras vid ett senare tillfälle. De tillåter dig att exekvera en bit kod vid en specifik punkt i exekveringen av en annan funktion, utan att behöva känna till den exakta tidpunkten eller platsen för den koden.
I JavaScript används callbacks vanligtvis för att hantera asynkrona operationer, som att göra en HTTP begära eller ställa in en timer. Callback-funktionen skickas som ett argument till huvudfunktionen och exekveras när den asynkrona operationen är klar.
Här är ett exempel på hur man använder en callback-funktion i JavaScript:
```
function makeRequest(callback) {
// Gör en HTTP-begäran här
// ...
callback();
}
makeRequest(function() {
console.log("Request completed");
});
```
I det här exemplet tar funktionen `makeRequest` en callback-funktion som ett argument, och kör den funktionen när HTTP-begäran är klar. Callback-funktionen skickas som ett argument till `makeRequest`-funktionen och exekveras när begäran är klar.
Callbacks kan också användas med löften, vilket gör att du kan hantera asynkrona operationer på ett mer strukturerat sätt. Här är ett exempel på att använda en återuppringningsfunktion med ett löfte:
```
funktion makeRequest(återuppringning) {
// Gör en HTTP-förfrågan här
// ...
Promise.resolve().then(callback);
}
makeRequest(function() {
console.log("Request completed");
});
```
I det här exemplet returnerar `makeRequest`-funktionen ett löfte, som sedan löses med callback-funktionen. Återuppringningsfunktionen exekveras när löftet är löst, vilket är när HTTP-förfrågan är klar.
Återuppringningar kan också användas med händelser, såsom musklick eller tangenttryckningar. Här är ett exempel på hur man använder en återuppringningsfunktion med en händelseavlyssnare:
```
document.getElementById("myButton").addEventListener("click", function() {
console.log("Button clicked");
} );
```
I det här exemplet anropas metoden `addEventListener` på ett HTML-knappelement och skickar en callback-funktion som ett argument. När knappen klickas exekveras återuppringningsfunktionen och loggar ett meddelande till konsolen.