介绍
PubSubJS 是用 JavaScript 编写的基于主题发布/订阅的库。
PubSubJS 具有同步解耦,因此主题是异步发布的,这有助于保持程序的可预测性,因为当使用者处理主题时,主题的发起者不会被阻塞。
PubSubJS 还支持同步主题发布,但是可能会在某些环境(比如某些浏览器)中加速,但也可能导致一些程序逻辑难以推理,其中一个主题触发同一执行链中另一个主题的发布。
单进程
PubSubJS 被设计用于单个进程,不适合多进程应用程序(比如 Node.js-Cluster 和许多子进程)。如果您的 Node.js 应用程序是一个单进程应用程序,那么就很好。如果它是(或将要是)一个多进程应用程序,您可能最好使用 redis Pub/Sub 或类似的库
主要特征
- 没有依赖性
- 同步解耦
- 兼容性好:兼容 ES3。PubSubJS 应该能够在任何可以执行 JavaScript 的地方运行。浏览器,服务器,电子书阅读器,旧手机,游戏机。
- 支持 AMD/CommonJS 模块
- 不修改订户(jQuery 自定义事件修改订户)
- 易于理解和使用(由于同步解耦)
- 小型(近似) ,小于1kb 的小型和 gzippe