如何预加载 ember 引擎?

How to pre load ember engines?

我在我的项目中使用 ember-engines,在用户登陆主机 ember 应用程序后,我希望我的其他 ember 引擎预加载(比如 10 秒后),这样当用户导航到其他选项卡,UI 中不会有任何滞后。我不想禁用我的 ember 引擎的延迟加载,因为这会增加供应商 js 的大小和主机的 css初始加载期间的应用程序。感谢对此的任何参考(我找不到任何示例或参考)。

我们可以使用ember-engine包含的asset-loader服务的loadBundle方法如下:

assetLoader: service(),

preloadEngine() {
  this.assetLoader.loadBundle('<name of the engine>');
}

loadBundle 方法 return a promise 并在引擎包成功加载时解析。