diff --git a/packages/sdk/lib/core/loader/Package.ts b/packages/sdk/lib/core/loader/Package.ts index 37f0bc9..89ffcf9 100644 --- a/packages/sdk/lib/core/loader/Package.ts +++ b/packages/sdk/lib/core/loader/Package.ts @@ -1337,6 +1337,9 @@ export class Package { //const db = window.VIEWPORT.modules["db"]; //const dbTable = `${useProjectState.getState().sceneId}-${useProjectState.getState().info.id}`; + // 在调用时捕获 loader 引用,防止 done() 清除 this.loader 后重试路径报错 + const loader = this.loader; + // map 存储 json 解析完成后执行的 function; key 为 uuid const funcMap = new Map(); @@ -1433,7 +1436,8 @@ export class Package { const parse = (json) => { if (check(json.object, json)) { - this.loader.parse(json, (group) => { + if (!loader) return; + loader.parse(json, (group) => { const bones: Bone[] = []; group.getObjectsByProperty("type", "Bone", bones); if (bones.length > 0) {