function doXHR(options) { return new Promise(function (resolve, reject) { xhr(options, function (err, resp, body) { if (err) { return reject(err.message); } if (resp.statusCode !== 200) { return reject(body); } var data = (typeof body === 'string')? JSON.parse(body) : body; resolve(data); }); }); }
export function fetchData(url) { return function thunk(dispatch) { xhr({ url: url }, function (err, data) { var body = JSON.parse(data.body); var list = body.list; var dates = []; var temps = []; for (var i = 0; i < list.length; i++) { dates.push(list[i].dt_txt); temps.push(list[i].main.temp); } dispatch(setData(body)); dispatch(setDates(dates)); dispatch(setTemps(temps)); dispatch(setSelectedTemp(null)); dispatch(setSelectedDate('')); }); } }