我是一名 ActionScript 3 开发人员,他刚刚开始尝试构建大型 JavaScript 应用程序。所以我理解模块并且理解 AMD 是一个很好的使用模式。我阅读了 RequireJS 并实现了它。但是,我仍然不明白的是如何实现跨模块通信。我知道应该有某种调解人......我阅读了文章和帖子,但仍然无法理解如何简单地实现它。这是我的代码,简化:
main.js
require(["Player", "AssetsManager"], function (player, manager) {
player.loadXML();
});
播放器.js
define(function () {
function parseXml(xml)
{
// NOW HERE IS THE PROBLEM -- how do I call AssetsManager from here???
AssetsManager.queueDownload($(xml).find("prop").text());
}
return {
loadXML: function () {
//FUNCTION TO LOAD THE XML HERE, WHEN LOADED CALL parseXml(xml)
}
}
});
AssetsManager.js
define(function () {
var arrDownloadQueue = [];
return {
queueDownload: function(path) {
arrDownloadQueue.push(path);
}
}
});
任何“傻瓜”帮助将不胜感激:) 谢谢。