diff --git a/src/utils/http-helper.js b/src/utils/http-helper.js index ddd45c50d5a6e3f4fdbd864a4c71160cc47d3691..f956d14999b6a231b46d431f24705ca93370ee75 100644 --- a/src/utils/http-helper.js +++ b/src/utils/http-helper.js @@ -73,13 +73,15 @@ export function parseObject(response, middleware, { num2str = false, bool2str = const mapValue = _.curry(mapObj)(_, mapArr); if (contentType.indexOf('json') !== -1) { return response.json() - .then(json => (middleware ? middleware(json) : json)) - .then((data) => { - let out = data; + .then((json) => { + let out = json; if (_.isObjectLike(out)) { out = new Resolver(out).resolve(); } - return needMap ? mapValue(out) : out; + return middleware ? middleware(out) : out; + }) + .then((data) => { + return needMap ? mapValue(data) : data; }); } else if (contentType.indexOf('xml') !== -1) { return response.text() @@ -87,17 +89,18 @@ export function parseObject(response, middleware, { num2str = false, bool2str = return require.ensure([], (require) => { const { parseString } = require('xml2js'); const options = {}; - const json = JSON.parse(parseString(text, options)); - return json; + return JSON.parse(parseString(text, options)); }); }) - .then((json => (middleware ? middleware(json) : json))) - .then((data) => { - let out = data; + .then((json) => { + let out = json; if (_.isObjectLike(out)) { out = new Resolver(out).resolve(); } - return needMap ? mapValue(out) : out; + return middleware ? middleware(out) : out; + }) + .then((data) => { + return needMap ? mapValue(data) : data; }); } else if (contentType.indexOf('text') !== -1) { return response.text();