En mi aplicación Angular.js, estoy ejecutando una operación asincrónica. Antes de que comience, cubro la aplicación con un div modal, luego, una vez que se completa la operación, necesito eliminar el div, ya sea que la operación haya sido exitosa o no.
Actualmente tengo esto:
LoadingOverlay.start();
Auth.initialize().then(function() {
LoadingOverlay.stop();
}, function() {
LoadingOverlay.stop(); // Code needs to be duplicated here
})
Funciona bien, sin embargo, preferiría tener algo más limpio como este pseudocódigo:
LoadingOverlay.start();
Auth.initialize().finally(function() { // *pseudo-code* - some function that is always executed on both failure and success.
LoadingOverlay.stop();
})
Supongo que es un problema bastante común, así que estaba pensando que se podría hacer pero no puedo encontrar nada en el documento. ¿Alguna idea de si se puede hacer?
then()
, entonces seguramente puede encadenar otra ....initialize().then(...).then(...)
. No existe un "finalmente" como tal; el controlador final es el último especificado.