Maison >interface Web >js tutoriel >Tutoriel sur la boucle d'événements Node.js
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);
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("程序执行完成")
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!