Ich habe die folgende Funktion:Weitergabe von Generika in Promise wie Promise <T>?
class RestService {
public async get<T>(func: string): Promise<T> {
var toRet = {};
await fetch(EndPoint + func)
.then(response => response.json() as Promise<T>)
.then(data => {
toRet = data;
})
.catch(e => {
});
return toRet as T;
}
}
Alles funktioniert gut, aber die Antwort, die ich in ‚Daten‘ bekommen ist immer ein generisches Objekt.
Zum Beispiel habe ich ein Modell wie so haben könnte:
class Model
{
string name;
}
und rufen Sie die Funktion wie folgt:
get<Model>("getmodel")
Die Antwort ist immer ein generisches Objekt, das wie folgt aussieht:
{name:"some name"}
Von meinem Verständnis her werden Generika in Typoskript unterstützt und Versprechen nimmt variable Typen, meine einzige thou Ist das so, dass ich ein Generikum nicht zu einem Generikum machen kann?
Wenn die Antwort, wenn immer ein Model, dann sollte die Methode nicht generisch sein, und sein Rückgabetyp sollte 'Promise' sein.Hast du das gefragt? –
Nun, die Antwort vom Endpunkt ist ein JSON-Objekt, das Modell stimmt einfach mit den JSON-Objektfeldern überein. Ich nehme Promise an, wo T ist, würde die Klasse eine Instanz der Klasse mit den JSON-Werten automatisch auffüllen. –
tweetypi
Also könnte ich einen Aufruf machen, um wie zu erhalten und einen Rückgabetyp von 'AnotherModel' zu erwarten, aber ich bekomme ein 'Objekt' mit Feldern, die den Variablendeklarationen in 'AnotherModel' entsprechen ... –
tweetypi