Javascript 使用LABjs返回值

Javascript 使用LABjs返回值,javascript,labjs,Javascript,Labjs,所以我有一个函数,我想在动态加载一个带有$LABjs的脚本后运行,但是LABjs不支持返回值,它需要返回自己才能加载更多脚本并等待。。很公平。但是我如何得到函数的返回值呢 var hub; var test = function() { return $LAB.script('DataUI/ckeditor/ckeditor.js').wait(function() { hub = "yikes!"; }); return hub; } console.log(test

所以我有一个函数,我想在动态加载一个带有$LABjs的脚本后运行,但是LABjs不支持返回值,它需要返回自己才能加载更多脚本并等待。。很公平。但是我如何得到函数的返回值呢

var hub;

var test = function() {
  return $LAB.script('DataUI/ckeditor/ckeditor.js').wait(function() {
    hub = "yikes!";
  });

  return hub;
}

console.log(test());
这将返回未定义,因为测试函数立即返回hub变量。有没有办法强迫LABjs等待,这样我就可以得到我的值

建议:

  • 应该有一个强制同步加载的切换,就像jQuery允许AJAX那样。或者$LABjs可以返回一个从脚本/等待返回的值数组
  • 返回一个承诺,这样我就可以等待我的变量被预期值填充

  • 我应该返回一个承诺,这样函数的调用者可以链接
    test().wait(function(){/*code here*/})
    。我应该返回一个承诺,这样函数的调用者可以链接
    test().wait(function(){/*code here*/})