Depois de renderizar a página inteira com base em vários contextos do usuário e fazer várias $http
solicitações, desejo que o usuário possa alternar contextos e renderizar tudo novamente (reenviar todas as $http
solicitações, etc.). Se eu apenas redirecionar o usuário para outro lugar, as coisas funcionarão 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()
, algumas $http
solicitações auth.impersonate(username)
que estão aguardando uma resposta serão canceladas, então não posso usá-la. Além disso, o hack $location.path($location.path())
também não funciona (nada acontece).
Existe outra maneira de renderizar novamente a página sem emitir manualmente todas as solicitações novamente?