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?