RequireJS:同步需要文本内容

时间:2013-07-20 16:03:02

标签: 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(["text!template/c.html"], function(template) { return template; });

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

我该怎么做?谢谢!

1 个答案:

答案 0 :(得分:3)

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);
});