Maison > interface Web > js tutoriel > le corps du texte

Tutoriel sur la boucle d'événements Node.js

巴扎黑
Libérer: 2017-08-08 10:35:25
original
1626 Les gens l'ont consulté

Cet article présente principalement l'explication détaillée et des exemples de la boucle d'événements Node.js. Node.js a plusieurs événements intégrés. Nous pouvons lier et surveiller les événements en introduisant le module d'événements et en instanciant la classe EventEmitter. reportez-vous aux détails et aux exemples de la boucle d'événement

Node.js

  • Node.js est une application à processus unique et à thread unique, mais elle prend en charge. simultanéité via des événements et des rappels, les performances sont donc très élevées.

  • Chaque API de Node.js est asynchrone et s'exécute comme un thread indépendant, utilise des appels de fonction asynchrones et gère la concurrence.

  • Fondamentalement, tous les mécanismes d'événements dans Node.js sont implémentés à l'aide du modèle d'observateur dans le modèle de conception.

  • Le thread unique Node.js est similaire à la saisie d'une boucle d'événement while (true) jusqu'à ce qu'aucun observateur d'événement ne se termine. Chaque événement asynchrone génère un observateur d'événement. Si un événement se produit, appelez simplement le rappel. function.

Node.js a plusieurs événements intégrés. Nous pouvons lier et écouter des événements en introduisant le module d'événements et en instanciant la classe EventEmitter, l'exemple suivant :


// 引入 events 模块
var events = require('events');
// 创建 eventEmitter 对象
var eventEmitter = new events.EventEmitter();

// 创建事件处理程序
var connectHandler = function connected() {
  console.log(1);

  // 触发 data_received 事件 
  eventEmitter.emit('data_received');
}

// 绑定 connection 事件处理程序
eventEmitter.on('connection', connectHandler);

// 使用匿名函数绑定 data_received 事件
eventEmitter.on('data_received', function(){
  console.log(2);
});

// 触发 connection 事件 
eventEmitter.emit('connection');

console.log(3);
Copier après la connexion

Dans une application Node, la fonction qui effectue une opération asynchrone prend la fonction de rappel comme dernier paramètre, et la fonction de rappel reçoit l'objet d'erreur comme premier paramètre.


var fs = require("fs")
fs.readFile('input.txt',function(err,data){
if(err)
  console.log(err)
else
  console.log(data.toString())
})
console.log("程序执行完成")
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!