หลังจากเรนเดอร์ทั้งหน้าตามบริบทของผู้ใช้หลายคนและมี$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())
ก็ไม่ทำงานเช่นกัน (ไม่มีอะไรเกิดขึ้น)
มีวิธีการแสดงหน้าอีกครั้งโดยไม่ต้องออกคำขอทั้งหมดอีกครั้งด้วยตนเองหรือไม่