3
定義在我的模塊我要推遲「定義」的電話,但運行的回調,一旦文件RequireJS被加載,而不是在「定義」 ...例如:RequireJS:回調
a.js:
require(['b'], function(b){
console.log(b);
});
b.js:
define({'foo':'bar'});
可正常工作的寫作對象{FOO:巴}。 但是,如果我動 「定義」 遞延功能:
b.js:
setTimeout(function(){
define({'foo':'bar'});
}, 1000);
然後執行console.log(b)將 「空」。
怎麼了?
好吧,你延遲了1秒的定義,並且要求在定時器到期之前請求它。我能問你爲什麼延遲定義模塊嗎? –
這只是可能的情況之一。延遲可能是由模塊準備就緒所需的ajax請求或任何其他異步進程造成的。 – Buncha
創建一個負責Ajax /異步邏輯的模塊會更有意義。這樣你可以只需要它,並使用它提供的方法來觸發任何異步的東西。 –