【发布时间】:2020-01-23 06:27:41
【问题描述】:
我想使用 loadModel 承诺和 loadAsHidden 选项加载模型数组。然后,一旦加载了所有模型,就立即将它们全部显示出来。在我运行 loadModel 命令后,似乎每个承诺都立即得到解决。所以 showHiddenModels 函数在模型完全加载之前运行。 Storeys 数组包含文件的 svf 地址。
function loadAllModels() {
let options =
{
loadAsHidden: true,
globalOffset: { x: 0, y: 0, z: 0 }
};
let promises = [];
let length = storeys.length;
let counter = 0;
for (let storey of storeys) {
let modelPromise = viewer.loadModel(storey.Svf, options);
modelPromise.then((result) => {
counter++;
console.log('counter: ' + counter);
if (counter == length) {
showHiddenModels();
}
});
promises.push(modelPromise);
}
}
function showHiddenModels() {
let models = viewer.impl.modelQueue().getHiddenModels();
for (let model of models) {
viewer.showModel(model);
}
let extension = viewer.getExtension('Autodesk.ViewCubeUi');
extension.setViewCube('[top/front]');
}
这是它在控制台中的外观。所以首先调用 promise.then,然后开始加载文件。
【问题讨论】:
标签: autodesk-forge autodesk-viewer