Cómo volver a cargar o volver a renderizar toda la página utilizando AngularJS

Después de representar toda la página en función de varios contextos de usuario y haber realizado varios$http solicitudes, quiero que el usuario pueda cambiar de contexto y volver a renderizar todo de nuevo (reenviando todo$http peticiones, etc). Si simplemente redirecciono al usuario a otro lugar, las cosas funcionan correctamente:

$scope.on_impersonate_success = function(response) {
  //$window.location.reload(); // This cancels any current request
  $location.path('/'); // This works as expected, if path != current_path
};

$scope.impersonate = function(username) {
  return auth.impersonate(username)
    .then($scope.on_impersonate_success, $scope.on_auth_failed);
};

Si yo uso$window.location.reload(), entonces algunos de los$http solicitudes enauth.impersonate(username) que están esperando que se cancele una respuesta, así que no puedo usar eso. Además, el hack$location.path($location.path()) Tampoco funciona (no pasa nada).

¿Hay otra forma de volver a representar la página sin emitir manualmente todas las solicitudes de nuevo?

Respuestas a la pregunta(13)

Su respuesta a la pregunta