diff --git a/src/main.jsx b/src/main.jsx
index 0e5cf2b..c24105a 100644
--- a/src/main.jsx
+++ b/src/main.jsx
@@ -61,22 +61,20 @@ if (Session.isLoggedIn()) {
*
* @return {Promise} data containing responses mapped by route name
*/
-let fetchData = function(routes, params) {
+let fetchData = async function(routes, params) {
let data = {};
- return Promise.all(routes
- .filter(route => route.handler.fetchData)
- .map(route => {
- return route.handler.fetchData(params).then(resp => {
- data[route.name] = resp;
- })
- })
- ).then(() => data);
+ await Promise.all(routes.map(async route => {
+ if(!route.handler.fetchData) return;
+ data[route.name] = await route.handler.fetchData(params);
+ }));
+
+ return data;
}
// Start the router
-Router.run(routes, Router.HistoryLocation, function(Handler, state) {
- fetchData(state.routes, state.params).then((data) => {
- React.render(, document.getElementById(DOM_APP_EL_ID));
- });
+Router.run(routes, async function(Handler, state) {
+ let data = await fetchData(state.routes, state.params);
+ React.render(, document.getElementById(DOM_APP_EL_ID));
});
+