瀏覽代碼

Retry fetching Wi-Fi ssids (#391)

Paulus Schoutsen 2 年之前
父節點
當前提交
f92e0988d3
共有 1 個文件被更改,包括 9 次插入2 次删除
  1. 9 2
      src/install-dialog.ts

+ 9 - 2
src/install-dialog.ts

@@ -736,7 +736,7 @@ export class EwtInstallDialog extends LitElement {
     }
   }
 
-  private async _updateSsids() {
+  private async _updateSsids(tries = 0) {
     const oldSsids = this._ssids;
     this._ssids = undefined;
     this._busy = true;
@@ -746,7 +746,7 @@ export class EwtInstallDialog extends LitElement {
     try {
       ssids = await this._client!.scan();
     } catch (err) {
-      // When we fail on first load, pick "Join other"
+      // When we fail while loading, pick "Join other"
       if (this._ssids === undefined) {
         this._ssids = null;
         this._selectedSsid = null;
@@ -755,6 +755,13 @@ export class EwtInstallDialog extends LitElement {
       return;
     }
 
+    // We will retry a few times if we don't get any results
+    if (ssids.length === 0 && tries < 3) {
+      console.log("SCHEDULE RETRY", tries);
+      setTimeout(() => this._updateSsids(tries + 1), 1000);
+      return;
+    }
+
     if (oldSsids) {
       // If we had a previous list, ensure the selection is still valid
       if (