我想知道是否有一种方法只有当所有的依赖项都准备就绪时才能实例化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
返回一个promise,表示requirejs需要等到这个promise才能解决才能继续。
我想要这个,因为我想避免检查模块b
是否在每个依赖它的模块中准备就绪。
答案 0 :(得分:-1)
未经验证:我认为您可以通过嵌套异步定义来实现这一目标:
//inside module b
define("bOuter", [], function () {
// fetch data
fetchDataAsync(function(result) {
define("b", [], function ()
{
// real module "b" here.
});
});
});