From 7605f093aba84235a67ccdd8dcb2b65ce50318f3 Mon Sep 17 00:00:00 2001 From: Brett Sun Date: Wed, 9 Dec 2015 14:44:31 +0100 Subject: [PATCH] Fix Request error case --- js/utils/requests.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/js/utils/requests.js b/js/utils/requests.js index 8388f9db..d9c5288d 100644 --- a/js/utils/requests.js +++ b/js/utils/requests.js @@ -13,11 +13,17 @@ class Requests { unpackResponse(response) { if (response.status >= 500) { let err = new Error(response.status + ' - ' + response.statusText + ' - on URL:' + response.url); - response + + return response .text() - .then((resText) => JSON.parse(resText)) - .then((resJSON) => { - err = new Error(resJSON.errors.pop()); + .then((resText) => { + const resJson = JSON.parse(resText); + err = new Error(resJson.errors.pop()); + + // ES6 promises don't have a .finally() clause so + // we fake that here by forcing the .catch() clause + // to run + return Promise.reject(); }) .catch(() => { throw err; }); } @@ -57,9 +63,7 @@ class Requests { resolve({}); } } - }).catch((err) => { - reject(err); - }); + }).catch(reject); }); }