in viewer/src/provider/OpensfmDataProvider.js [346:393]
_loadData(iterator) {
this._load = new Promise((resolve, reject) => {
const loaders = [];
for (const item of iterator) {
loaders.push(
item.fetch
.then(async data => {
const file = {
children: [],
data,
name: item.url,
url: item.url,
};
if (this.loaded) {
return this.add(file);
}
await this._initialize(file);
this._load = null;
resolve();
return Promise.resolve();
})
.catch(error => {
console.error(error);
return Promise.reject(error);
}),
);
}
Promise.allSettled(loaders).then(responses => {
let succeeded = false;
for (const response of responses) {
if (response.status === 'fulfilled') {
succeeded = true;
break;
}
}
if (!succeeded) {
this._load = null;
reject(new Error('All file loads failed.'));
}
});
});
return this._load;
}