Sau khi hiển thị toàn bộ trang dựa trên một số bối cảnh người dùng và đã thực hiện một số $http
yêu cầu, tôi muốn người dùng có thể chuyển đổi bối cảnh và kết xuất lại mọi thứ một lần nữa (gửi lại tất cả các $http
yêu cầu, v.v.). Nếu tôi chỉ chuyển hướng người dùng ở một nơi khác, mọi thứ sẽ hoạt động đúng:
$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);
};
Nếu tôi sử dụng $window.location.reload()
, thì một số $http
yêu cầu auth.impersonate(username)
đang chờ phản hồi sẽ bị hủy, vì vậy tôi không thể sử dụng yêu cầu đó. Ngoài ra, hack $location.path($location.path())
cũng không hoạt động (không có gì xảy ra).
Có cách nào khác để kết xuất lại trang mà không phát hành lại tất cả các yêu cầu một cách thủ công không?