mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-25 18:26:35 +00:00
Do not use async await in custom panels (#1336)
* Do not use async await in custom panels * Lint
This commit is contained in:
parent
376228e0fe
commit
2cfff991ac
@ -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.');
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user