我正在使用 dojo 编写一个 fontend Web 应用程序,它使用 xhr 对休息端点进行了很多调用。我想有一个地方来存储诸如端点位置和 html 标签引用之类的配置。我以为我会使用对 json 文件的 xhr 调用来执行此操作,但是我无法让我的函数以正确的顺序/完全触发。下面是我的主 js 文件,它有一个 init() 函数,我将其作为回调传递给我的 conf 初始化程序(“ebs/conf”)模块,也在下面。我已经使用 Chrome 调试器在我的 conf.get() 方法中设置断点,它看起来好像从未被调用过。
有人可以给我一些建议吗?
主 JS 文件:
// module requirements
require([ "dojo/dom", "dojo/on", "ebs/prices", "ebs/cart", "ebs/conf",
"dojo/ready" ], function(dom, on, prices, cart, conf, ready) {
ready(function() {
conf.get("/js/config.json", init());
function init(config) {
on(dom.byId("height"), "keyup", function(event) {
prices.calculate(config);
});
on(dom.byId("width"), "keyup", function(event) {
prices.calculate(config);
});
on(dom.byId("qty"), "keyup", function(event) {
prices.calculate(config);
});
on(dom.byId("grills"), "change", function(event) {
prices.calculate(config);
});
cart.putSampleCart();
cart.load(config);
}
});
});
这是我的“conf”模块(“ebs/conf”):
define(["dojo/json", "dojo/request/xhr"], function(json, xhr) {
return {
get : function(file, callback) {
// Create config object from json config file
var config = null;
xhr(file, {
handleAs : "json"
}).then(function(config) {
callback(config);
}, function(error) {
console.error(error);
return error;
});
}
}
});