Release Vantage viewer after failed loads [skip ci]
This commit is contained in:
1 parent
602e7fd0f0
commit
7076e847ea
1 file changed
+11
-1
@@ -124,8 +124,18 @@
|
||||
const body = result.data ? Uint8Array.from(atob(result.data), (c) => c.charCodeAt(0)) : null;
|
||||
return new Response(body, { status: result.status, headers: result.etag ? { etag: result.etag } : {} });
|
||||
} }) : Promise.resolve(world);
|
||||
return vantage.VantageViewer.mount(host, { world: await source, view: 'top', players: { offline: false } });
|
||||
const resolved = await source;
|
||||
if (cancelled) return null;
|
||||
const v = new vantage.VantageViewer(host, { view: 'top', players: { offline: false } });
|
||||
try {
|
||||
await v.load({ world: resolved, view: 'top' });
|
||||
return v;
|
||||
} catch (e) {
|
||||
v.dispose();
|
||||
throw e;
|
||||
}
|
||||
}).then((v) => {
|
||||
if (!v) return;
|
||||
if (cancelled) { v.dispose(); return; }
|
||||
viewer = v;
|
||||
ready = true;
|
||||
|
||||
Reference in new issue
Block a user