Ich habe eine Typoskript-Basisklasse in meinem eckigen Projekt namens "Animal", das für mehrere Arten von Tieren erweitert wird. Hier ist ein Beispielcode zur Veranschaulichung. Jede erweiterte Klasse implementiert ihre eigene "getItems" -Methode und setzt dann "isItemsLoaded", nachdem das Versprechen aufgelöst wurde.Ist es möglich, Code auszuführen, nachdem eine abstrakte erweiterte Methode in Typoskript ausgeführt wird?
abstract class Animal {
items: Array<...> = [];
isItemsLoaded: boolean = false;
abstract getItems(): ng.IPromise<Array<...>>;
}
class Hippo extends Animal {
getItems() {
//return a promise to get a list of hippos
return this
.getHippos(...)
.then(list, => {
...
this.isItemsLoaded= true;
});
}
}
class Tiger extends Animal {
getItems() {
//return a promise to get a list of tigers
return this
.getTigers(...)
.then(list, => {
...
this.isItemsLoaded= true;
});
}
}
Kann ich irgendwie einen Code anhängen, nachdem die getItems Entschlüssen (wie ein schließlich Methode) in der Tierbasisklasse laufen? Ich wäre verantwortlich für die Einstellung "isItemsLoaded" in der Basis. Ist so etwas möglich?
abstract class Animal {
items: Array<...> = [];
isItemsLoaded: boolean = false;
abstract getItems(): ng.IPromise<Array<...>>.AfterResolved(this.isItemsLoaded = true;);
}
Ja, danke. Ich kam gerade zurück, um zu sagen, dass ich es herausgefunden habe ... :) – Rob