promise resolve

This commit is contained in:
Dmitry Borisenko
2022-02-11 19:16:32 +01:00
parent 325aed2217
commit e7c68eeedb
2 changed files with 30 additions and 7 deletions

View File

@@ -36,6 +36,8 @@
//let myip = document.location.hostname;
let myip = "192.168.88.235";
function promiseResolve() {}
//Flags
let showInput = false;
let showModalFlag = false;
@@ -287,6 +289,7 @@
//delete errorsJson.errors;
errorsJson = errorsJson;
errorsJsonParced = true;
promiseResolve();
if (debug) console.log("✔", "errorsJson json parced");
}
}
@@ -887,7 +890,7 @@
<ConfigPage configJson={configJson} widgetsJson={widgetsJson} itemsJson={itemsJson} saveConfig={() => saveConfig()} />
</Route>
<Route path="/connection">
<ConnectionPage settingsJson={settingsJson} errorsJson={errorsJson} ssidJson={ssidJson} rebootEsp={() => rebootEsp()} ssidDropdownClick={() => ssidDropdownClick()} saveSettings={() => saveSettings()} mqttConnect={() => mqttConnect()} />
<ConnectionPage settingsJson={settingsJson} errorsJson={errorsJson} promiseResolve={() => promiseResolve()} ssidJson={ssidJson} rebootEsp={() => rebootEsp()} ssidDropdownClick={() => ssidDropdownClick()} saveSettings={() => saveSettings()} mqttConnect={() => mqttConnect()} />
</Route>
<Route path="/system">
<SystemPage settingsJson={settingsJson} errorsJson={errorsJson} rebootEsp={() => rebootEsp()} cancelAlarm={(alarmKey) => cancelAlarm(alarmKey)} version={version} />

View File

@@ -5,12 +5,28 @@
export let settingsJson;
//export let settingsJsonParced;
export let errorsJson;
//export let errorsJsonParced;
export let errorsJsonParced;
export let ssidJson;
//export let ssidJsonParced;
export let promiseResolve = () => {};
async function connect() {
console.log("connect start");
errorsJsonParced = false;
saveSettings();
console.log("errorsJsonParced:", errorsJsonParced);
return new Promise(function (resolve, reject) {
//установим таймаут на 1 секунду, если пройдет секнда и не будет resolve() то система выдаст ошибку
setTimeout(() => reject(), 20000);
promiseResolve = resolve;
});
}
let myPromise = 0; //connect();
let promise = 0;
let next = (value) => new Promise((resolve) => setTimeout(() => resolve(++value), 500));
let next = () => new Promise((resolve) => setTimeout(() => resolve(), 1000));
export let ssidDropdownClick = () => {};
export let saveSettings = () => {};
@@ -18,9 +34,10 @@
export let rebootEsp = () => {};
</script>
{#await promise}
<p>...</p>
{:then result}
{#await myPromise}
<p>Connecting...</p>
<button class="btn-lg" on:click={() => promiseResolve()}>resolve</button>
{:then}
<div class="grd-2col1">
<Card title="Подключение к WiFi">
<div class="crd-itm-psn">
@@ -74,7 +91,8 @@
<Alarm title="Введен неправильный пароль" />
</div>
{/if}
<button class="btn-lg" on:click={() => (promise = next(result))}>{result}</button>
<button class="btn-lg" on:click={() => (myPromise = connect())}>try</button>
<button class="btn-lg" on:click={() => saveSettings()}>{"Сохранить"}</button>
</Card>
@@ -141,4 +159,6 @@
<button class="btn-lg" on:click={() => rebootEsp()}>{"Перезагрузить устройство"}</button>
</Card>
</div>
{:catch}
<p>error</p>
{/await}