]> git.immae.eu Git - github/bastienwirtz/homer.git/commitdiff
Use fetch API instead of xhr.
authorBastien Wirtz <bastien.wirtz@gmail.com>
Sat, 16 Jun 2018 22:48:28 +0000 (15:48 -0700)
committerBastien Wirtz <bastien.wirtz@gmail.com>
Sat, 16 Jun 2018 22:48:28 +0000 (15:48 -0700)
app.js

diff --git a/app.js b/app.js
index 26979755f3acb2bb43eac226bf92207f271c9181..ffb50076897bbc6cea23abac1d47d0533e26c7c0 100644 (file)
--- a/app.js
+++ b/app.js
@@ -5,10 +5,11 @@ var app = new Vue({
         filter: ''
     },
     beforeCreate () {
-        var that = this;
+        let that = this;
+
         return getConfig().then(function (config) {
-            // Splice services list into groups of 3 for flex column display
-            var size = 3;
+            console.log(config);
+            const size = 3;
             config.services.forEach(function(service) {
                 service.rows = [];
                 items = service.items;
@@ -17,42 +18,26 @@ var app = new Vue({
                 }
 
                 if (service.rows.length) {
-                    var last = service.rows.length-1;
+                    let last = service.rows.length-1;
                     service.rows[last] = service.rows[last].concat(Array(size - service.rows[last].length));
                 }
             });
             that.config = config;
+        }).catch(function () {
+            console.error('Fail to get config');
         });
     }
 });
 
 
 function getConfig() {
-    return new Promise(function (resolve, reject) {
-        var xhr = new XMLHttpRequest();
-        xhr.open('GET', 'config.yml');
-        xhr.onload = function () {
-            if (this.status >= 200 && this.status < 300) {
-                try {
-                    var data = jsyaml.load(xhr.response);
-                    resolve(data);
-                } catch (e) {
-                    console.error('fail to parse config file');
-                    reject();
-                }
-            } else {
-                reject({
-                    status: this.status,
-                    statusText: xhr.statusText
-                });
-            }
-        };
-        xhr.onerror = function () {
-            reject({
-                status: this.status,
-                statusText: xhr.statusText
-            });
-        };
-        xhr.send();
+    return fetch('config.yml').then(function(response) {
+        if (response.status !== 200) {
+            return;
+        }
+
+        return response.text().then(function(body){
+            return jsyaml.load(body);
+        });
     });
 }
\ No newline at end of file