在根据多个用户上下文呈现整个页面并发出多个$http
请求后,我希望用户能够切换上下文并重新呈现所有内容(重新发送所有$http
请求等)。如果我只是将用户重定向到其他地方,事情会正常工作:
$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);
};
如果我使用$window.location.reload()
,那么等待响应的一些$http
请求在auth.impersonate(username)
被取消,所以我不能使用它。此外,黑客方法$location.path($location.path())
也无法工作(没有任何反应)。
有没有其他方法可以重新渲染页面而不需要手动重新发出所有请求?