NodeJs事件

在学习过程中的实例,加入自己的理解

//此段程序会陷入死循环,使用while可使循环占据线程,而setTimeout的延时启动使得事件触发不了
EE = require("events").EventEmitter;
ee = new EE();
die = false;
ee.on("die", function (a, b, c) {
die = true;
console.log("arguments:" + a + b + c);
});
console.log("test");
//ee.emit("die", "arg1", "arg2", "arg3");//这句放在这儿可使事件执行从而可以使程序不会陷入死循环
setTimeout(function () { //因为settimeout的挂起所以后面的判断只执行一次
console.log("test2");
ee.emit("die","arg1","arg2","arg3");
}, 3000);

while (!die) {
console.log("test3");
}
if (die) {
console.log("the die is true");
}
else {
console.log("the die is false");
}

原文地址:https://www.cnblogs.com/zwqsgff/p/2995140.html