Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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:同步require文本内容_Javascript_Requirejs - Fatal编程技术网

Javascript RequireJS:同步require文本内容

Javascript RequireJS:同步require文本内容,javascript,requirejs,Javascript,Requirejs,我使用require加载html模板,我希望通过同步方式加载这些模板,例如: var template_a = require(["text!template/a.html"], function(template) { return template; }); var template_b = require(["text!template/b.html"], function(template) { return template; }); var template_c = require(

我使用require加载html模板,我希望通过同步方式加载这些模板,例如:

var template_a = require(["text!template/a.html"], function(template) { return template; });
var template_b = require(["text!template/b.html"], function(template) { return template; });
var template_c = require(["text!template/c.html"], function(template) { return template; });

$("body").append(template_a);
$("body").append(template_b);
$("body").append(template_c);

我该怎么做?谢谢

RequireJS本质上是异步的。克服它的唯一方法就是做这样的事情

templates = [];

function append_template(template, templates)
{
    templates.push(template);

    if(templates.length == 3)
    {
        for(var i in templates)
            $("body").append(templates[i]);
    }
}

require(["text!template/a.html"], function(template) {
    append_template(template, templates);
});
require(["text!template/b.html"], function(template) {
    append_template(template, templates);
});
require(["text!template/c.html"], function(template) {
    append_template(template, templates);
});

RequireJS本质上是异步的。克服它的唯一方法就是做这样的事情

templates = [];

function append_template(template, templates)
{
    templates.push(template);

    if(templates.length == 3)
    {
        for(var i in templates)
            $("body").append(templates[i]);
    }
}

require(["text!template/a.html"], function(template) {
    append_template(template, templates);
});
require(["text!template/b.html"], function(template) {
    append_template(template, templates);
});
require(["text!template/c.html"], function(template) {
    append_template(template, templates);
});

但这和在一个“模板附加器”模块中要求所有模板没有什么区别(但更复杂)。@kryger肯定:)但“为什么”是不同的问题。但这和在一个“模板附加器”模块中要求所有模板没有区别(但更复杂)@kryger:)但“为什么”是另一个问题。你想通过这个来实现什么?潜在的好处是什么?你想通过这种方式实现什么?潜在的好处是什么?