问题标签 [eventemitter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 使用事件发射器触发的事件是否保持顺序
我对事件发射器几乎没有疑问,但这对于可能的程序逻辑非常重要。
我正在使用一些外部库来触发我正在收听的事件。假设它触发 2 个事件:“数据”和“错误”。假设 lib 将始终在error之前调用data,如下所示:
问题是:我可以 100% 确定数据事件总是在我的监听方法中的错误事件之前出现吗?:
谢谢,
伊万
javascript - 这两种构造函数模式有什么区别?
对比
EventEmitter.call(this) 是否需要这样做?
node.js - 在节点中发出带有回调作为参数的事件是不好的做法吗?
在节点中发出带有回调作为参数的事件是不好的做法吗?
编辑:写完这个问题后,我意识到通过为可以被多个侦听器截获的事件提供持续回调会破坏目的,所以我认为我不会采用这种方法。
javascript - node.js 事件发射器是否必须绑定到自定义对象才能有效使用它们?
在 node.js 中,为什么一些事件发射器的示例看起来很简单,如下所示:
然后 ee1 用于发出和监听事件。
其他示例如下所示:
然后 ee2 用于发出和监听事件。
您可以使用 ee1 来处理所有事件(在您想要的任何地方发出它们,例如在您的自定义对象中。)。将事件发射器原型绑定到您自己的自定义对象/函数的原因是什么?
javascript - 事件发射器 JavaScript
此代码块发出一个事件并传递一个整数:
但是,当它开始接收事件时:
index
是NaN
。_ 请问有人可以告诉我错误在哪里吗?我猜这可能是在on
事件总线的情况下。
javascript - $state 或 $location 更改时的 Angular ui.router 无限循环
在过去的 4 个小时里,我正在努力调试和阅读互联网上的所有问题,这可能是什么问题。
所以,我正在模拟一个移动应用程序,我的逻辑是这样的:
- 如果用户过去登录过,我们在 localStorage 中有关于此的数据,然后向他显示列表。这是离线
- 如果我们连接到互联网,首先显示列表并在后台检查他是否仍然登录
- 如果他不是,则重定向到登录页面。
在主 Home 视图中,我正在评估上述语句,首先我向他显示列表(如果他有 localStorage 数据),然后我在线查看并在必要时重定向到登录。
每当我有两个 $state 或 $locations 它循环。就像浏览器几乎死机一样,幸运的是 Chrome。我得到了Cannot call method 'insertBefore' of null
。从我读到的,一个已知的 angular.ui 路由器问题,如果使用不好或其他一些神秘问题。
一些代码:
这些事件发射器和接收器,我在状态管理服务的返回中调用它们
. . 。逻辑
...返回我的服务
这是在我的控制器中:
我究竟做错了什么?
我已经调试了发射器,我的 check() 函数创建了所有发射器,我在 ui.router 上尝试了几种组合,但我失败了:)。
javascript - 用自定义的 EventEmitter 替换原来的 EventEmitter
考虑我想使用EventEmitter2
,或者我自己的一些实现EventEmitter
。但是,如果我只是这样做EventEmitter = MyEventEmitter
,它仅有助于在此声明之后发生的显式继承,但显然不会更改从 builtin 继承的现有对象EventEmitter
,并且仅限于模块的范围。
EventEmitter
使用内置对象时可以利用替代s 吗?我可以想到任何特定对象的原型链的下降,如果原型似乎是 的实例EventEmitter
,则将其替换为我自己的,但没有更优雅的方法吗?
node.js - 使用 process.nextTick 发出事件是否优先于按顺序发出?
在 node.js 中有很多发送和监听事件。
我正在尝试决定是否应该内联发出事件然后从函数返回,或者我是否应该通常使用 process.nextTick 发出导致它们稍后运行的事件。
一般来说,哪种方法是正确的(最好的)方法?
有人告诉我,node.js 的内置模块大多使用 process.nextTick。
node.js - 本地 eventEmitter 监听全局 eventEmitter
我几乎把问题标题写成——在 eventEmitters 之间进行通信
我有一个全局范围内的 node.js 模块(X)(它使用 eventEmitter)。然后我有每个套接字本地的代码(用户连接)。
现在我在全局变量 G={'X':X} 上携带 X 通过进程,以便套接字可以像这样访问 X:
这是愚蠢的!现在,每次我启动我的服务器时,它似乎都运行良好(我收到了事件),但是如果我刷新页面并发出一个事件,我会得到它两次。如果我再次刷新页面,我会收到 3 次事件。
我认为我将侦听器绑定到同一个全局的 eventEmitter。
如何制作一个单独的本地 eventListener 来监听全局 eventEmiter 的发射?
我知道如何设置 eventEmiter:
但它没有捕捉到另一个事件......
我也尝试使用 eventEmitter 复制模块
但它仍然接收多个事件。