code: function runEnterHooks(routes, nextState, callback) {
    var hooks = getEnterHooks(routes);
    return runTransitionHooks(hooks.length, function (index, replace, next) {
      hooks[index](nextState, replace, next);
    }, callback);
  }
docs: Runs all onEnter hooks in the given array of routes in order
  with onEnter(nextState, replace, callback) and calls
  callback(error, redirectInfo) when finished. The first hook
  to use replace short-circuits the loop.
  
  If a hook needs to run asynchronously, it may use the callback
  function. However, doing so will cause the transition to pause,
  which could lead to a non-responsive UI if the hook is slow.