gpt4 book ai didi

node.js - 使用 EventEmitter 和仅使用函数有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-04 00:17:10 24 4
gpt4 key购买 nike

从这个问题中你可以看出,我对 Node.js 非常陌生。如果这样的问题不适合这个论坛,我深表歉意,并请求您引导我到一个更好的地方。

我正在观看 Lynda 上的一些培训类(class),我们正在讨论 EventEmitter。在下面的代码中,我们必须向 Person 对象添加一个事件。我的问题是,为什么以这种方式添加此事件,而不是从一开始就添加一个名为 talk to Person 对象的函数?非常感谢!

var EventEmitter = require('events').EventEmitter;
var util = require('util');

var Person = function(name) {
this.name = name;
};

util.inherits(Person, EventEmitter);

var ben = new Person("Ben Franklin");

ben.on('speak', function(said) {

console.log(`${this.name}: ${said}`);

});


ben.emit('speak', "You may delay, but time will not.");

最佳答案

EventEmitter当您无法(很大程度上)控制事件的生成时,这很有帮助。它们可能是由某些您无法控制的异步操作引起的。例如数据库断开连接。

Here in the example, event is Ben speaking something. You don't control Ben.

您可以通过定义一个监听器来响应他的事件 - 一个每当所述事件发生时就会执行的函数。

关于node.js - 使用 EventEmitter 和仅使用函数有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46327388/

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