使requirejs等到文件加载后再继续

时间:2013-06-04 18:34:44

标签: javascript requirejs

在requirejs加载文件之前,有没有办法阻止javascript?

我认为执行以下操作会有效,因为我没有回调。

var requireFile = require(['example']);

但它仍然是异步的。

如果我确实有一个指定的回调,那么有一种方法可以阻止加载示例,然后执行回调。

例如。

require(['example'], function(){
    console.log('hello');
});
console.log('world');

因此,控制台应为:

你好

-world

我正在看

-world

你好

2 个答案:

答案 0 :(得分:4)

您可以在函数中包含要延迟的代码,然后从require回调中调用该函数。

require(['example'], function(){
    console.log('hello');
    world();
});

function world() {
  console.log('world');
}

答案 1 :(得分:0)

在它返回之前你不能阻止。但你通常不必这样做。

你可能有一些代码依赖于'require'的返回,代码需要进入回调(或者从回调内部调用)

当你已经拥有一堆代码但它是唯一的方法时,这可能是一个问题。

有时你可以让其他代码运行,直到它看到它需要的东西已经加载。

有时你可以跳过它运行,稍后会调用它。有时你必须设置一个定时器,一直在寻找那个“东西”然后暂停一下,如果没有。