2015-08-31 2 views
0

Я хотел бы знать, есть ли способ создать экземпляр модуля requirejs только тогда, когда все его зависимости готовы. Что я хочу сказать?Отключить модуль requirejs до создания зависимостей

Предположим, у меня есть модуль a и модуль b. Модуль a зависит от b. Модуль b будет готов, когда он будет извлекать некоторые данные.

//inside module b 
define([], function() { //fetch data }); 

//inside module a 
define(['b'], function (b) { //do something with b }); 

Можно ли запустить a обратного вызова модуля только когда b принес данные ему нужно (или выполнить другие действия асинхронной)?

Например, я хотел бы вернуть обещание от модуля b, чтобы сообщить, что requirejs необходимо дождаться, пока это обещание не прекратится, прежде чем продолжить.

Я хочу это, потому что я хотел бы избежать проверки того, готов ли модуль b в каждом отдельном модуле, который зависит от него.

ответ

-1

Не проверен: Я думаю, что вы можете быть в состоянии добиться того, что с вложенными асинхронным определить:

//inside module b 
define("bOuter", [], function() { 
    // fetch data 
    fetchDataAsync(function(result) { 
     define("b", [], function() 
     { 
     // real module "b" here. 
     }); 
    }); 
}); 
Смежные вопросы