由于未捕获的 Promise,实时部署时未加载 Forge Extension

Forge Extension when deployed live is not loading due to uncaught Promise

我有一个名为 HandleSelectionExtensionAutodek Forge Extension,它正在执行一些服务器请求,导致它的加载速度比 ForgeViewer 慢。该代码实际上是本教程的镜像 https://learnforge.autodesk.io/#/viewer/extensions/selection

因此,当在线托管时,扩展无法加载并出现以下错误 ExtensionManager.js:234 Uncaught (in promise) Extension not found: HandleSelectionExtension. Has it been registered(1)?

请注意,扩展在本地托管时工作正常。如果我加载域的单独页面,例如 https://sde4demo.herokuapp.com/data 然后单击后退按钮

,该扩展程序也可以工作

有没有办法让扩展程序在启动查看器之前完全加载?

现场演示:https://sde4demo.herokuapp.com/

确保扩展脚本已加载(确保它在依赖于它的代码块之前),然后再注册扩展,并且仅尝试通过 loadOptionsviewer.loadExtension 加载扩展在您明确注册扩展后。

我试过您的现场演示,但没有看到任何错误或正在加载扩展程序?

在查看者解决问题之前加载扩展程序

<script src="my-awesome-extension.js"></script>
<script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.min.js"></script>

请注意,这与 Forge API 指南相矛盾,后者指出必须在核心查看器之后定义扩展 类 https://forge.autodesk.com/en/docs/viewer/v7/developers_guide/viewer_basics/extensions/

<!-- THIS IS INCORRECT AND CAN CAUSE ASNYC LOADING ISSUES -->
<script src="https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/viewer3D.min.js"></script>
<script src="my-awesome-extension.js"></script>