gpt4 book ai didi

javascript - "newListener"事件未触发

转载 作者:行者123 更新时间:2023-12-04 00:08:25 25 4
gpt4 key购买 nike

我正在尝试使用一些 Node 事件代码。

下面是代码,基于 docs每次将监听器添加到其内部监听器数组之前,“newListener”都应该触发,但它没有按预期工作。

Node 版本 - 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");

代码可在 https://repl.it/Iqe4/0 上获得

最佳答案

我认为您面临的问题是在输出中您没有得到 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");

关于javascript - "newListener"事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com