我们已经开始在我们的 javascript 框架中使用 requirejs,但是我们注意到一个似乎只在 Firefox 中出现的问题。
当请求来自服务器时,它包含我们要显示的组件(按钮、标签、复选框等)的 html 和 javascript。javscript 将包含特定于组件的信息。例如,标签中的文本应该是什么颜色。
一个简单的例子是
<button type="button" id="button123">Test</button>
require(['BUTTONDEPENDENCY'], function() {
register("button123");
console.log("component info");
...
});
这个垫片有点像。
BUTTONDEPENDENCY = /js/button.js
该请求还包含一个 JSON 数组,其中包含有关这些组件的信息(我不会详细介绍它们)。JSON 数组在浏览器加载 html/javascript 后执行。
在执行 JSONArray 中的每个对象时,我需要执行一个getComponent()
函数。当它试图执行getComponent('button123')
它时找不到它,因为尚未执行 require 函数(需要做register("button123");
)。它确实被执行了,但是在它找不到之后。我在 Chrome 中没有看到这个问题,所以我猜这是时间问题(Chrome 加载依赖项更快?)
为什么它在 Chrome 中运行良好?
为什么即使之前已经加载到模块,加载也需要更长的时间?
我是否应该强制 javascript 在执行 getComponent 之前等待,直到 register 已执行?这可能会导致我们的应用程序出现问题
任何建议都会很棒。