From 9ca12a40f404ba15d67068087dc521be7d69eefb Mon Sep 17 00:00:00 2001 From: Bastien Wirtz Date: Sat, 16 Jun 2018 15:48:28 -0700 Subject: Use fetch API instead of xhr. --- app.js | 45 +++++++++++++++------------------------------ 1 file changed, 15 insertions(+), 30 deletions(-) diff --git a/app.js b/app.js index 2697975..ffb5007 100644 --- 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 -- cgit v1.2.3