Javascript 向外部函数返回异步requirejs finish回调值
我有一个问题,我需要等到requirejs加载一些“次要”依赖项,然后将计算对象返回到我的requirejs模块 假设我知道我可以在第一个define语句中传递所有依赖项,有其他方法可以做到这一点吗 例如:Javascript 向外部函数返回异步requirejs finish回调值,javascript,requirejs,Javascript,Requirejs,我有一个问题,我需要等到requirejs加载一些“次要”依赖项,然后将计算对象返回到我的requirejs模块 假设我知道我可以在第一个define语句中传递所有依赖项,有其他方法可以做到这一点吗 例如: 定义( ['require'、'jquery'、'下划线'], 函数(需要,$,389;) { var fooBar=require(['foo','bar'],函数(foo,bar) { 返回新的FooBar(foo,bar); }); 返回fooBar; } );以下代码使用requi
定义(
['require'、'jquery'、'下划线'],
函数(需要,$,389;)
{
var fooBar=require(['foo','bar'],函数(foo,bar)
{
返回新的FooBar(foo,bar);
});
返回fooBar;
}
);代码>以下代码使用require作为同步请求,但在浏览器中,如果依赖项在同一文件中定义或在调用require之前加载,则可以使用SYNC-request。
大多数情况下,使用javascript最小化是有用的
define('foo', ['dep1', 'dep2'], function(){
return foo;
});
define('bar', ['dep1', 'dep2'], function(){
return bar;
});
define(
['require', 'jquery', 'underscore'],
function (require, $, _)
{
var foo = require('foo');
var bar = require('bar');
return new FooBar(foo, bar);
}
);
另一种解决方案是使用承诺来承诺您将返回新对象:
define(
['require', 'jquery', 'underscore'],
function (require, $, _)
{
var promise = new Promise(function(fulfill, reject){
require(['foo', 'bar'], function(foo, bar)
{
fulfill(new FooBar(foo, bar));
});
});
return promise;
}
);
谢谢我不知道我可以一次定义多个依赖项,以前加载的依赖项可以在以后加载的模块中重用!我是新来的!我已经知道常用的js方法,但出于某些原因,我需要避免使用这种方法。无论如何谢谢你!
define(
['require', 'jquery', 'underscore'],
function (require, $, _)
{
var promise = new Promise(function(fulfill, reject){
require(['foo', 'bar'], function(foo, bar)
{
fulfill(new FooBar(foo, bar));
});
});
return promise;
}
);