我需要在 JavaScript 框架中连接多个 JavaScript 应用程序/类。 一般来说,一个应用程序可能需要通知另一个应用程序发生了事件,但不需要等待响应。
我想知道是否有“消息队列”
和“观察者模式”
的替代方案。
例如,哪种解决方案已在 Google+、Facebook、LinkedIn 或其他 JavaScript 框架等实用程序中实现?
我的案例是一个拥有超过10000名用户的电子学习平台,
该框架包含 20 多个类和许多并行工作的监听器。
该应用程序由一个全局对象组成,所有其他 JavaScript 类都是动态加载和卸载的。
因此,由于所有类/应用程序都从全局对象中可见,我认为一个不错的选择可能如下:
对于每个应用程序:
MyApp.prototype.open = function () {
this.events = { "myEvent": this.onMyEvent }
...
};
MyApp.prototype.onMyEvent = function (data) {
// do something
};
然后全局对象将负责在应用程序级别执行该函数。
欢迎您提出意见和建议。
最佳答案
对我来说,听起来事件(观察者模式)在您的情况下是相当合理的。事件中是否存在任何问题让您寻找替代方案?我不知道 Google+ 和 Facebook 中的事件,但它们自然地用在 Google Maps API 中。 ,例如。
轻量级事件库是 eve ( reference here ),用于日益流行的 Raphaël图形库。
关于javascript - 连接多个 JavaScript 应用程序/类的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8125191/