首页 / 浏览问题 / 三维GIS / 问题详情
在vite中引入超图Cesium,Cesium.when.all首次页面加载不执行
55EXP 2024年04月09日
在vite项目中,将超图Cesium包拷贝到public的形式加载。加载无问题。

问题描述:

首次刷新打开页面是,Cesium.when.all不执行,只执行了promises加载图层。

但是,调试模式下,修改Cesium.when.all(promise, function(layers: any) {})中function中代码,页面加载正常。

请问这种情况一般是什么问题

1个回答

您好!

根据您的描述, 首次刷新打开页面,Cesium.when.all不执行,只执行了promises加载图层。 此时控制台有无报错信息呢?

此外, Cesium.when.all传入的应当是 Promise 数组,加载的单个图层与场景promise用 Cesium.when处理 Promise 即可

希望可以帮助到您!
1,452EXP 2024年04月09日
控制台无报错,执行代码也进不去。

promises中使用viewer.scene.addS3MTilesLayerByScp加载了较多图层(27个)。

奇怪的地方在于:在npm run dev开发模式下,我只需要在App.vue中只需要换行 或者随便修改,系统就正常了,代码就进入了Cesium.when.all.

这种也没有报错,不知道怎么办。
方便远程查看吗,可以的话私信我您的联系方式我远程来看看
排查发现是因为addS3MTilesLayerByScp加载同一个图层用了两个不同的变量名作为 name;将其修改后Cesium.when.all正常运行
...