Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;“新听众”;事件未触发_Javascript_Node.js_Events_Node Modules_Event Listener - Fatal编程技术网

Javascript &引用;“新听众”;事件未触发

Javascript &引用;“新听众”;事件未触发,javascript,node.js,events,node-modules,event-listener,Javascript,Node.js,Events,Node Modules,Event Listener,我正在尝试一些节点事件代码 下面是基于“newListener”的代码,每次在将侦听器添加到其内部侦听器数组之前,都应该触发该命令,但该命令不能按预期工作 节点版本-v6.11.0 var event = require("events"); var events = new event.EventEmitter(); function FunHello(){ console.log("Hello World !!!!!!!!"); } function FunGreet(){

我正在尝试一些节点事件代码

下面是基于“newListener”的代码,每次在将侦听器添加到其内部侦听器数组之前,都应该触发该命令,但该命令不能按预期工作

节点版本-v6.11.0

var event = require("events");
var events = new event.EventEmitter();

function FunHello(){
    console.log("Hello World !!!!!!!!");
}

function FunGreet(){
    console.log("Good Morning !!!!!!!!");
}

events.on("sayHello",FunHello);

events.on("sayHello",FunGreet);

events.addListener("hello",function(){
    console.log("hello hello !!!!");
});

/****** newListener is added *********/
events.on("newListener", function (evtName, fn) {
   console.log("New Listener: " + evtName);
});

events.emit("sayHello");

console.log("No of listerns for the event sayHello : " + events.listenerCount("sayHello"));

events.emit("hello");

代码在

上可用。我认为您面临的问题是,在输出中,您没有获得
newListener
事件的输出。我尝试将
newListener
代码块移动到所有其他事件侦听器之上,它给出了所需的输出

代码如下:

var event = require("events");
var events = new event.EventEmitter();

function FunHello(){
    console.log("Hello World !!!!!!!!");
}

function FunGreet(){
    console.log("Good Morning !!!!!!!!");
}

events.on("newListener", (evtName,fn)=>{
    console.log("New Listener: " + evtName);
 });


events.on("sayHello",FunHello);

events.on("sayHello",FunGreet);

events.addListener("hello",function(){
    console.log("hello hello !!!!");
});
events.emit("sayHello");

console.log("No of listerns for the event sayHello : " + events.listenerCount("sayHello"));

events.emit("hello"); 

如果您将newListener代码移到其他addListener调用之上,它会工作吗?哦,是的,它会工作。酷。。。。。。。所以它必须在所有事件侦听器之上,对吗?当然,添加侦听器时会触发事件。附加
hello
处理程序时,没有
newListener
处理程序。