检查对象是否为EventEmitter的实例

Check if object is instance of EventEmitter

本文关键字:实例 EventEmitter 对象 是否 检查      更新时间:2023-09-26

我正在寻找一种方法,而不是鸭子类型,来发现对象是否继承自EventEmitter

https://nodejs.org/api/events.html

我想我可以检查对象是否有事件发射器的几个函数,这只是脏的。

使用Node.js有更好的方法吗?此外,如果有一种方法可以确定某个东西是否是事件发射器之上的流,那也会很有用。

要检查对象是否是EventEmmitter的实例,可以将其与节点内的EventEmitter进行比较。只需要"事件"模块就可以公开EventEmmitter。

我为您找到并修改了一个小片段:

var http = require("http");
http.get("http://nodejs.org/", function (res) {
    // res is an EventEmitter that represents the HTTP response
    console.log(res instanceof require("events").EventEmitter); // true
    console.log(typeof res); // object
});