In meiner Angular.js-Anwendung führe ich eine asynchrone Operation aus. Bevor es beginnt, bedecke ich die Anwendung mit einem modalen Div. Sobald der Vorgang abgeschlossen ist, muss ich den Div entfernen, unabhängig davon, ob der Vorgang erfolgreich war oder nicht.
Derzeit habe ich Folgendes:
LoadingOverlay.start();
Auth.initialize().then(function() {
LoadingOverlay.stop();
}, function() {
LoadingOverlay.stop(); // Code needs to be duplicated here
})
Es funktioniert gut, aber ich hätte lieber etwas saubereres wie diesen Pseudocode:
LoadingOverlay.start();
Auth.initialize().finally(function() { // *pseudo-code* - some function that is always executed on both failure and success.
LoadingOverlay.stop();
})
Ich gehe davon aus, dass es ein weit verbreitetes Problem ist, also dachte ich, es könnte getan werden, kann aber nichts im Dokument finden. Irgendeine Idee, ob es möglich ist?
then()
, dann können Sie sicher Kette eine andere ....initialize().then(...).then(...)
. Es gibt kein "endlich" als solches; Der letzte Handler ist der zuletzt angegebene.