javascript - 连接多个 JavaScript 应用程序/类的最佳方式

标签 javascript

我需要在 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/

相关文章:

javascript - 当键不存在时排序 javascript 使用 localecompare

javascript - 在 Javascript 中更改日期时区?

javascript - jqplot 选项的问题

javascript - 制作一个创建样式表的模块

javascript - 组元素的 SVG getBBox() 给出与具有相同大小和位置的矩形元素不同的结果

javascript - 使用 Javascript 读取 Rails 4 Cookie/Session

javascript - 使用 Ajax Get 方法将数据显示到特定元素

javascript - Bootstrap datetimepicker 获取时间

javascript - 如何定义一个 CoffeeScript 类,在第一次实例化时加载 jQuery,然后触发回调?

javascript - 如何上传之前存储在LocalStorage中的图片?