Maison  >  Article  >  interface Web  >  Combien de types d’événements nodejs existe-t-il ?

Combien de types d’événements nodejs existe-t-il ?

王林
王林original
2023-05-25 15:26:08458parcourir

Node.js est un runtime JavaScript côté serveur construit sur un modèle d'E/S non bloquant basé sur les événements. On constate que les événements jouent un rôle très important dans le développement de Node.js. Alors, combien de types d’événements existe-t-il dans Node.js ? Cet article vous présentera en détail divers événements dans Node.js.

Dans Node.js, les événements sont également appelés déclencheurs, qui sont déclenchés par l'objet EventEmitter. EventEmitter est un module central fourni par Node.js. Son principe est qu'une fois l'événement requis déclenché, Node.js appellera toutes les fonctions de rappel liées à cet événement. Dans Node.js, le déclenchement des événements et l'exécution des fonctions de rappel sont asynchrones, ce qui signifie que Node.js n'attend pas la fin de l'événement, mais continue d'effectuer les opérations suivantes. C'est l'un des mécanismes les plus efficaces de Node.js.

Ce qui suit vous présentera les types d'événements courants dans Node.js :

1 Événement de connexion (connexion)

L'événement de connexion est dans un événement déclenché lorsqu'une nouvelle demande client arrive. Dans Node.js, vous pouvez utiliser la méthode net.createServer() pour créer un serveur TCP, puis écouter l'événement de connexion. Cet événement est déclenché lorsqu'un nouveau client se connecte à ce serveur.

2. Événement de fermeture (close)

L'événement de fermeture est un événement déclenché lorsque la connexion serveur ou client est fermée. Dans Node.js, vous pouvez utiliser la méthode socket.on('close') pour lier cet événement, qui est déclenché lorsque la connexion serveur ou client est fermée.

3. Événement d'erreur (erreur)

L'événement d'erreur est un événement déclenché lorsqu'une erreur se produit. Dans Node.js, vous pouvez utiliser la méthode socket.on('error') pour lier cet événement. Cet événement sera déclenché lorsqu'une erreur se produit.

4. Événement de données (données)

L'événement de données est un événement déclenché lors de la réception de données. Dans Node.js, vous pouvez utiliser la méthode socket.on('data') pour lier cet événement. Cet événement sera déclenché à l'arrivée des données.

5. Événement de fin (fin)

L'événement de fin est un événement déclenché après que le serveur ou le client a envoyé les données. Dans Node.js, vous pouvez utiliser la méthode socket.on('end') pour lier cet événement. Cet événement sera déclenché lors de l'envoi des données.

6. Événement Timeout (timeout)

L'événement timeout est un événement déclenché lorsque la connexion expire. Dans Node.js, vous pouvez utiliser la méthode socket.setTimeout() pour définir le délai d'attente. Lorsque la connexion dépasse le temps défini sans aucune réponse, cet événement sera déclenché.

7. Événements inscriptibles (drain)

Les événements inscriptibles sont des événements qui sont déclenchés lorsque les données écrites dans le tampon sont consommées. Dans Node.js, vous pouvez utiliser la méthode socket.on('drain') pour lier cet événement. Cet événement sera déclenché lorsque le tampon d'écriture des données sera effacé.

8. Événement de mise à niveau (upgrade)

L'événement de mise à niveau est un événement déclenché lors de la mise à niveau HTTP. Dans Node.js, vous pouvez utiliser la méthode http.createServer() pour créer un serveur HTTP, puis écouter l'événement de mise à niveau. Cet événement est déclenché lorsqu'une requête est mise à niveau vers WebSockets ou HTTP/2.

Ce qui précède sont les types d'événements courants dans Node.js. De plus, Node.js propose d'autres types d'événements, tels que pipe, unpipe, finish, etc. Comprendre les types d'événements de Node.js est très important pour le développement de Node.js. En apprenant et en maîtrisant le mécanisme d'événements, cela peut nous aider à mieux comprendre les concepts de base et le modèle de programmation de Node.js.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn