Après avoir rendu la page entière en fonction de plusieurs contextes utilisateur et avoir fait plusieurs $httpdemandes, je veux que l'utilisateur puisse changer de contexte et tout restituer à nouveau (renvoyer toutes les $httpdemandes, etc.). Si je redirige simplement l'utilisateur ailleurs, les choses fonctionnent correctement:
$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 j'utilise $window.location.reload(), alors certaines des $httpdemandes auth.impersonate(username)qui attendent une réponse sont annulées, donc je ne peux pas l'utiliser. De plus, le hack $location.path($location.path())ne fonctionne pas non plus (rien ne se passe).
Existe-t-il un autre moyen de restituer la page sans émettre à nouveau toutes les demandes manuellement?