我使用 almond.js 来实现我的 javascript 库。我试图将配置变量与代码分开。我创建了 config.json 文件,其中包含所有“全局”变量并定义了将注入其他模块的“模型”:
define("Model", [], function () {
"use strict";
var model = {
options: {
}
};
(function () {
var xhr = new XMLHttpRequest();
xhr.overrideMimeType("application/json");
xhr.open('GET', 'Config/config.json', true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 300)) {
model.options = JSON.parse(xhr.response);
}
};
xhr.send();
})();
return model;
});
问题是,然后我定义了使用我的“模型”的模块,请求仍未完成,所有“选项”参数仍然存在undefined
。是否有任何方法可以实现等待模型初始化的依赖项,或者使用 almond.js 实现此功能的另一种方法?
我应该用 require.js 替换 almond.js 来实现这个功能吗?如果可以,它会是什么样子?
提前致谢。