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

View File

@@ -5,12 +5,28 @@
export let settingsJson; export let settingsJson;
//export let settingsJsonParced; //export let settingsJsonParced;
export let errorsJson; export let errorsJson;
//export let errorsJsonParced; export let errorsJsonParced;
export let ssidJson; export let ssidJson;
//export let ssidJsonParced; //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 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 ssidDropdownClick = () => {};
export let saveSettings = () => {}; export let saveSettings = () => {};
@@ -18,9 +34,10 @@
export let rebootEsp = () => {}; export let rebootEsp = () => {};
</script> </script>
{#await promise} {#await myPromise}
<p>...</p> <p>Connecting...</p>
{:then result} <button class="btn-lg" on:click={() => promiseResolve()}>resolve</button>
{:then}
<div class="grd-2col1"> <div class="grd-2col1">
<Card title="Подключение к WiFi"> <Card title="Подключение к WiFi">
<div class="crd-itm-psn"> <div class="crd-itm-psn">
@@ -74,7 +91,8 @@
<Alarm title="Введен неправильный пароль" /> <Alarm title="Введен неправильный пароль" />
</div> </div>
{/if} {/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> <button class="btn-lg" on:click={() => saveSettings()}>{"Сохранить"}</button>
</Card> </Card>
@@ -141,4 +159,6 @@
<button class="btn-lg" on:click={() => rebootEsp()}>{"Перезагрузить устройство"}</button> <button class="btn-lg" on:click={() => rebootEsp()}>{"Перезагрузить устройство"}</button>
</Card> </Card>
</div> </div>
{:catch}
<p>error</p>
{/await} {/await}