Refactor: handle array responses from the server at one place
authorRaphaël Jakse <raphael.jakse@univ-grenoble-alpes.fr>
Sat, 4 Apr 2020 13:30:01 +0000 (15:30 +0200)
committerRaphaël Jakse <raphael.jakse@univ-grenoble-alpes.fr>
Sat, 4 Apr 2020 14:30:35 +0000 (16:30 +0200)
trivabble.js

index b3ca064b963fcb5e78fc5c57a102d6c32a51e4e1..f39d684768051617b7c1c987713144fb17839c50 100644 (file)
     }
 
     function handleReceivedData(data) {
+        if (data instanceof Array) {
+            for (var i = 0; i < data.length; i++) {
+                handleReceivedData(data[i]);
+            }
+            return;
+        }
+
         if (data.msg) {
             chatMessages.appendChild(
                 document.createElement("div")
                         }
 
                         retriedImmediately = false;
-
-                        if (msgs instanceof Array) {
-                            for (var i = 0; i < msgs.length; i++) {
-                                handleReceivedData(msgs[i]);
-                            }
-                        } else {
-                            handleReceivedData(msgs);
-                        }
+                        handleReceivedData(msgs);
                     } else {
                         break;
                     }
                 }
 
                 try {
-                    var res = JSON.parse(xhr.responseText);
-                    if (res instanceof Array) {
-                        for (var i = 0; i < res.length; i++) {
-                            handleReceivedData(res[i]);
-                        }
-                    } else {
-                        handleReceivedData(res);
-                    }
+                    handleReceivedData(JSON.parse(xhr.responseText));
                 } catch (e) {
                     fatalError(e);
                 }