Trong ứng dụng Angular.js của tôi, tôi đang chạy một số hoạt động không đồng bộ. Trước khi nó bắt đầu, tôi bao phủ ứng dụng bằng một div phương thức, sau đó khi hoạt động hoàn tất, tôi cần xóa div, cho dù hoạt động có thành công hay không.
Hiện tại tôi có cái này:
LoadingOverlay.start();
Auth.initialize().then(function() {
LoadingOverlay.stop();
}, function() {
LoadingOverlay.stop(); // Code needs to be duplicated here
})
Nó hoạt động tốt, tuy nhiên tôi muốn có thứ gì đó rõ ràng hơn như mã giả này:
LoadingOverlay.start();
Auth.initialize().finally(function() { // *pseudo-code* - some function that is always executed on both failure and success.
LoadingOverlay.stop();
})
Tôi cho rằng đó là một vấn đề khá phổ biến, vì vậy tôi đã nghĩ rằng nó có thể được thực hiện nhưng không thể tìm thấy gì trong tài liệu. Bất kỳ ý tưởng nếu nó có thể được thực hiện?
then()
, sau đó bạn có thể chắc chắn chuỗi khác ....initialize().then(...).then(...)
. Không có "cuối cùng" như vậy; trình xử lý cuối cùng là trình xử lý cuối cùng được chỉ định.