Refactor: retry polling in a dedicated function
authorRaphaël Jakse <raphael.jakse@univ-grenoble-alpes.fr>
Sat, 4 Apr 2020 13:39:10 +0000 (15:39 +0200)
committerRaphaël Jakse <raphael.jakse@univ-grenoble-alpes.fr>
Sat, 4 Apr 2020 14:30:44 +0000 (16:30 +0200)
trivabble.js

index 0659da616fbd485eb25a664bd9735c32673a160a..2a3f3c3ffd4a15b9faad54d6c2d757659f5a5790 100644 (file)
         }
     }
 
+    function retryPolling() {
+        pollingServer = false;
+        pollingReady = false;
+
+        if (retriedImmediately) {
+            setTimeout(sendCmds.bind(null, []), POLLING_DELAY);
+        } else {
+            retriedImmediately = true;
+            sendCmds()
+        }
+    }
+
     function send(data) {
         if (!pollingReady && ((data.cmds && data.cmds.length) && data.cmds[0].cmd !== "joinGame")) {
             sendCmds();
                 }
             } else if (xhr.readyState === 4) {
                 if (thisRequestIsPolling) {
-                    pollingServer = false;
-                    pollingReady = false;
-
-                    if (retriedImmediately) {
-                        setTimeout(sendCmds.bind(null, []), POLLING_DELAY);
-                    } else {
-                        retriedImmediately = true;
-                        sendCmds()
-                    }
+                    retryPolling();
                     return;
                 }