Heim  >  Artikel  >  Web-Frontend  >  Tutorial zur Node.js-Ereignisschleife

Tutorial zur Node.js-Ereignisschleife

巴扎黑
巴扎黑Original
2017-08-08 10:35:251614Durchsuche

Dieser Artikel stellt hauptsächlich die detaillierte Erklärung und Beispiele der Node.js-Ereignisschleife vor. Wir können Ereignisse binden und überwachen, indem wir die EventEmitter-Klasse instanziieren siehe

Node.js-Ereignisschleifendetails und Beispiele

  • Node.js ist eine Single-Prozess-Single-Thread-Anwendung, die jedoch unterstützt wird Parallelität durch Ereignisse und Rückrufe, daher ist die Leistung sehr hoch.

  • Jede API in Node.js ist asynchron und wird als unabhängiger Thread ausgeführt, verwendet asynchrone Funktionsaufrufe und verarbeitet Parallelität.

  • Grundsätzlich werden alle Ereignismechanismen in Node.js mithilfe des Beobachtermusters im Entwurfsmuster implementiert.

  • Der einzelne Thread von Node.j ähnelt dem Eintritt in eine while(true)-Ereignisschleife, bis kein Ereignisbeobachter mehr auftritt. Wenn ein Ereignis auftritt, rufen Sie einfach den Rückruf auf Funktion.

Node.js verfügt über mehrere integrierte Ereignisse, indem wir das Ereignismodul einführen und die EventEmitter-Klasse instanziieren.


// 引入 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);

In einer Knotenanwendung verwendet die Funktion, die eine asynchrone Operation ausführt, die Rückruffunktion als letzten Parameter und die Rückruffunktion empfängt das Fehlerobjekt als ersten Parameter.


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

Das obige ist der detaillierte Inhalt vonTutorial zur Node.js-Ereignisschleife. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn