Una funzione di callback è una funzione che viene passata come argomento ad un’altra funzione con l’intenzione di essere eseguita o “ritornata” successivamente. Questo tipo di funzioni sono spesso utilizzate in operazioni asincrone, eventi o richieste AJAX in JavaScript.
Ecco un esempio di come si può implementare una funzione di callback in JavaScript:
```
function miaFunzioneDiCallback(data) {
console.log(‘Dati ricevuti: ‘ + data);
}
function miaFunzionePrincipale(callback) {
var data = ‘ciao mondo!’;
callback(data);
}
// Chiamata alla funzione principale passando la callback come argomento
miaFunzionePrincipale(miaFunzioneDiCallback);
```
In questo esempio, la funzione `miaFunzioneDiCallback` è una funzione di callback perché viene passata come argomento alla funzione `miaFunzionePrincipale`. Nel corpo di `miaFunzionePrincipale`, la callback viene invocata con il parametro ‘ciao mondo!’, che viene quindi stampato sulla console quando la callback viene eseguita.
Quello che rende potenti le funzioni di callback è che permettono di ritardare l’esecuzione di un certo codice fino a quando un’operazione asincrona è completa, o un evento specifico si è verificato, mantenendo il codice non bloccante ed efficiente.
Per Python, l’esecuzione sarebbe simile. Ecco un esempio:
```
def miaFunzioneDiCallback(data):
print(‘Dati ricevuti: ‘ + data)
def miaFunzionePrincipale(callback): data = ‘ciao mondo!‘ callback(data)
Ricordati che la funzione di callback deve sempre venire definita prima dell’utilizzo e la sua esecuzione va fatta senza i parentesi.