Do not use async await in custom panels (#1336)

* Do not use async await in custom panels

* Lint
This commit is contained in:
Paulus Schoutsen 2018-06-25 15:59:17 -04:00 committed by GitHub
parent 376228e0fe
commit 2cfff991ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,7 +3,7 @@ import { loadJS } from '../../common/dom/load_resource.js';
// Make sure we only import every JS-based panel once (HTML import has this built-in) // Make sure we only import every JS-based panel once (HTML import has this built-in)
const JS_CACHE = {}; const JS_CACHE = {};
export default async function loadCustomPanel(panelConfig) { export default function loadCustomPanel(panelConfig) {
if (panelConfig.html_url) { if (panelConfig.html_url) {
const toLoad = [ const toLoad = [
import(/* webpackChunkName: "import-href-polyfill" */ '../../resources/html-import/import-href.js'), import(/* webpackChunkName: "import-href-polyfill" */ '../../resources/html-import/import-href.js'),
@ -13,14 +13,13 @@ export default async function loadCustomPanel(panelConfig) {
toLoad.push(import(/* webpackChunkName: "legacy-support" */ '../legacy-support.js')); toLoad.push(import(/* webpackChunkName: "legacy-support" */ '../legacy-support.js'));
} }
const [{ importHrefPromise }] = await Promise.all(toLoad); return Promise.all(toLoad).then(([{ importHrefPromise }]) =>
await importHrefPromise(panelConfig.html_url); importHrefPromise(panelConfig.html_url));
} else if (panelConfig.js_url) { } else if (panelConfig.js_url) {
if (!(panelConfig.js_url in JS_CACHE)) { if (!(panelConfig.js_url in JS_CACHE)) {
JS_CACHE[panelConfig.js_url] = loadJS(panelConfig.js_url); JS_CACHE[panelConfig.js_url] = loadJS(panelConfig.js_url);
} }
await JS_CACHE[panelConfig.js_url]; return JS_CACHE[panelConfig.js_url];
} else {
throw new Error('No valid url found in panel config.');
} }
return Promise.reject('No valid url found in panel config.');
} }