Em meu aplicativo Angular.js, estou executando algumas operações assíncronas. Antes de começar, abordo o aplicativo com um div modal e, depois que a operação for concluída, preciso remover o div, quer a operação tenha sido bem-sucedida ou não.
Atualmente eu tenho este:
LoadingOverlay.start();
Auth.initialize().then(function() {
LoadingOverlay.stop();
}, function() {
LoadingOverlay.stop(); // Code needs to be duplicated here
})
Funciona bem, mas prefiro algo mais limpo como este pseudo-código:
LoadingOverlay.start();
Auth.initialize().finally(function() { // *pseudo-code* - some function that is always executed on both failure and success.
LoadingOverlay.stop();
})
Presumo que seja um problema bastante comum, por isso pensei que poderia ser feito, mas não consigo encontrar nada no documento. Alguma ideia se isso pode ser feito?
then()
, então você certamente pode encadear outra ....initialize().then(...).then(...)
. Não existe "finalmente" como tal; o manipulador final é o último especificado.