Como recarregar ou renderizar novamente a página inteira usando o AngularJS

Depois de renderizar a página inteira com base em vários contextos do usuário e ter feito vários$http solicitações, quero que o usuário seja capaz de alternar contextos e renderizar tudo novamente (reenviar todos os$http solicitações, etc). Se eu apenas redirecionar o usuário para outro lugar, as coisas funcionam corretamente:

$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);
};

Se eu usar$window.location.reload(), então alguns dos$http pedidos emauth.impersonate(username) que estão esperando por uma resposta ser cancelada, então eu não posso usar isso. Além disso, o hack$location.path($location.path()) não funciona também (nada acontece).

Existe outra maneira de processar novamente a página sem emitir manualmente todas as solicitações novamente?

questionAnswers(13)

yourAnswerToTheQuestion