Redis消息事件中未引发TypeError

TypeError is not thrown in Redis message event

本文关键字:TypeError 消息 事件 Redis      更新时间:2023-09-26

我正在尝试实现一个事件系统。

Node订阅Redis通道,接收消息并调用对象中不存在的方法。

完整的代码在这里。易于理解的http://pastebin.com/8XnbaepE 为什么不抛出错误?

我不理解这种行为。

另一个奇怪的问题是,在第一次向通道发布消息之后,当不同的通道和有效负载通过时,函数参数是旧的。

我错过了什么?

如果没有得到异常,这意味着节点redis捕获了它,并且没有重新抛出。这实际上是异步i/o代码中的一个很好的做法,因为这将防止节点退出并杀死您的服务器。

如果您在出现错误时注册回调,您很可能会看到错误。

sub.on("error", function(err) {
  // deal with error
  // ...
}

这是节点redis模块中的一个错误。

https://github.com/mranney/node_redis/pull/361