Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript requirejs中每个已加载依赖项的回调?_Javascript_Requirejs - Fatal编程技术网

Javascript requirejs中每个已加载依赖项的回调?

Javascript requirejs中每个已加载依赖项的回调?,javascript,requirejs,Javascript,Requirejs,我想在RequireJS加载javascript库时调用一个函数。我将使用它向用户指示初始初始化。通常只需不到一秒钟,但如果需要更长的时间,用户就会盯着空白屏幕,认为web应用程序出了问题。我想象这样的画面: 我能赶上失败的: requirejs.onError = function(error) { error.requireModules.forEach(function(name) { //Create basename in case this was an URL

我想在RequireJS加载javascript库时调用一个函数。我将使用它向用户指示初始初始化。通常只需不到一秒钟,但如果需要更长的时间,用户就会盯着空白屏幕,认为web应用程序出了问题。我想象这样的画面:

我能赶上失败的

requirejs.onError = function(error) {
  error.requireModules.forEach(function(name) {
    //Create basename in case this was an URL
    name.replace(/^.*[/]/, "");
    // Debug
    console.warn("Module failed to load: ", name);
    // Find the loading node (they are hardcoded) and 
    // if it exists mark it as failed
    var element = document.getElementById("loading_"+name);
    if(element) {
      element.className+=" failed";
    }
  });
}
var require = {
    deps: ["some/module1", "my/module2", "a.js", "b.js"],
    callback: function(module1, module2) {
        //This function will be called when all the dependencies
        //listed above in deps are loaded. Note that this
        //function could be called before the page is loaded.
        //This callback is optional.
    }
};
这样我就可以在图像上准备弹出窗口,并在其中报告故障。但报道成功也很重要。现在有一个选项我不想使用:

requirejs.onError = function(error) {
  error.requireModules.forEach(function(name) {
    //Create basename in case this was an URL
    name.replace(/^.*[/]/, "");
    // Debug
    console.warn("Module failed to load: ", name);
    // Find the loading node (they are hardcoded) and 
    // if it exists mark it as failed
    var element = document.getElementById("loading_"+name);
    if(element) {
      element.className+=" failed";
    }
  });
}
var require = {
    deps: ["some/module1", "my/module2", "a.js", "b.js"],
    callback: function(module1, module2) {
        //This function will be called when all the dependencies
        //listed above in deps are loaded. Note that this
        //function could be called before the page is loaded.
        //This callback is optional.
    }
};
因为:

  • 它仅在加载所有依赖项时执行,而不是在每个依赖项上执行
  • 如果我的依赖项发生变化,它将形成另一个我必须更新的位置(并且我必须使它与我的加载弹出窗口保持同步)
我想要的是
onError
相反。每次成功加载模块时调用回调。它对于调试目的也很有用