Node.js est construit autour d’une architecture basée sur les événements non bloquante. Cela signifie que Node.js n’attend pas que toutes les opérations soient complétées avant de passer à une autre tâche. Il utilise plutôt des événements et des rappels (“callbacks”) pour signaler que une tâche a été complétée.
Dans Node.js, les opérations d’entrées/sorties (comme lire des fichiers, interagir avec des bases de données ou répondre à des requêtes réseau) sont toutes gérées de manière asynchrone. Cela signifie que Node.js peut continuer à exécuter d’autres codes pendant qu’il attend que ces opérations soient terminées.
Voici comment cela se produit étape par étape:
1. Une opération d’entrée/sortie est déclenchée (par exemple, une requête de lecture de fichier).
1. Node.js enregistre un rappel à exécuter une fois l’opération terminée, puis continue à exécuter d’autres codes.
1. Une fois l’opération d’entrée/sortie terminée, un événement est ajouté à la “file d’événements”.
1. Node.js a une boucle d’événements qui vérifie constamment cette file d’événements et exécute le rappel associé à chaque événement.
Ceci permet à Node.js de gérer un grand nombre de connexions simultanément avec un seul thread, ce qui en fait une excellente solution pour les applications en temps réel qui nécessitent une haute performance et une faible latence.