Sono molto confuso su questo programma. Ho comprato un libro intitolato "Node JS, MongoDB e AngularJS Web Development" di Brad Dayley. Ho trovato un programma per dimostrare qualcosa chiamato chiusura, e mostra questo programma come un esempio. Questa è solo la prima parte del programma.Callback() Nodo Js
function logCar(logMsg, callback){
process.nextTick(function(){
callback(logMsg);
});
}
var cars = ["Ferrari", "Porsche", "Bugatti"];
for(var idx in cars){
var message = "Saw a " + cars[idx];
logCar(message, function(){
console.log("Normal Callback: " + message);
})
}
Ho cercato di capire come questo funzioni di programma per un'ora intera, ma non riesco a capire quale sia la funzione di callback (logmsg).
So che questa è probabilmente una domanda molto semplice, ma non riesco a capirlo.
Perché callback (logMsg) supera la variabile logMsg? Non c'è nulla nei parametri della funzione anonima per tenerlo. – studentTrader24
Tuttavia, la funzione di callback è stata definita per accettare tutto ciò che viene passato come primo parametro nella funzione 'logCar'. Quindi, qualsiasi funzione passata come callback prenderà automaticamente la variabile logMsg. –
Alla fine della funzione logCar, si verifica callback (logMsg). Questo chiama la funzione anonima. Non capisco come o perché la variabile logMsg viene restituita. Se si osserva la funzione anonima, non c'è nulla nei parametri per "catturare" la variabile logMsg. – studentTrader24