Ich habe eine Frage darüber, warum meine Antwort zurückgegeben und als undefined gedruckt wird.Leere Versprechen zurück in ES6 mit einer importierten Klasse
Dies ist meine Methode in meinem main.js:
find() {
return this.serviceFactory
.createRequest()
.withId(333)
.sendAsGet().then(response => {
console.log(response);
});
}
Die obigen console.log (Antwort) ist, wo ich die Antwort nicht definiert bin immer;
und dies ist die eingeführte Klasse, die verwendet wird als this.serviceFactory
export class ServiceFactory {
constructor(http) {
this.http = http;
this.http.baseUrl = serviceUrlParts.baseUrl;
this.endpoint = "";
this.id = "";
}
createRequest() {
return this;
}
withId(id) {
this.id = id;
return this;
}
setEndPoint(endpoint){
this.endpoint = serviceUrlParts.baseUrl + endpoint;
}
sendAsGet() {
return this.http.get(`${this.endpoint}/${this.id}`)
.then(response => {
this.parseJSONContent(response);
}).catch(error => {
console.log(error);
});
}
parseJSONContent(response) {
console.dir(JSON.parse(response.content));
return JSON.parse(response.content);
}
}
Die console.dir (JSON.parse (response.content)) in der parseJSONContent Methode wird das richtige Objekt auszudrucken, das ist von der API zurückgegeben. Irgendwo, der zum Anruf zurückgeht, ist es verloren. Ein Einblick in das, was falsch läuft, wäre sehr willkommen!
Weil Sie * bis * Rückkehr 'undefined' (oder don alles zurückgeben von all diesen Rückrufen. – Bergi