Junior — Middle
Puoi spiegare il principio di funzionamento dell'Event Loop in Node.js e il suo ruolo nell'elaborazione asincrona delle attività?
sobes.tech AI
Risposta dell'AI
L'Event Loop in Node.js è un meccanismo che permette di eseguire codice asincrono senza bloccare il thread principale. Node.js funziona su un singolo thread, ma grazie all'Event Loop può gestire molte operazioni di input/output in parallelo.
Principio di funzionamento:
- Quando si avvia un'operazione asincrona (ad esempio, leggere un file o fare una richiesta a un database), questa viene inviata all'API di sistema corrispondente o a una coda.
- L'Event Loop monitora queste operazioni e, quando vengono completate, inserisce i callback nella coda dei task (coda di callback).
- Il thread principale processa questi callback in ordine, chiamandoli uno per uno.
In questo modo, l'Event Loop garantisce un'elaborazione non bloccante dei task, permettendo a Node.js di lavorare in modo efficiente con molte operazioni contemporaneamente.
Esempio:
console.log('Start');
setTimeout(() => {
console.log('Timeout callback');
}, 0);
console.log('End');
// L'output sarà:
// Start
// End
// Timeout callback