Ich habe meinen Kopf gegen diesen Versuch geschlagen, es herauszufinden, und keine Menge von Dokumentation, die ich lesen konnte, hat mir eine Antwort auf meine Frage gegeben.Angular 2 - Liefern Daten direkt von einem Observable
Ich habe einen Dienst, der direkt zu einer API spricht und ein beobachtbares Ereignis zurücksendet, das ich unter normalen Umständen abonnieren und tun würde, was ich mit den Daten will, jedoch in einem sekundären Dienst, der die Anfragen vom erholsamen Dienst verwendet Ich muss Werte aus der Anfrage zurückgeben können.
getSomething() {
return this._restService.addRequest('object', 'method').run()
.subscribe(
res => {
res;
},
err => {
console.error(err);
}
);
}
returnSomething() {
return this.getSomething();
}
Im schnellen Beispiel oben, ich möchte wissen, ob es einen Weg gibt, ich res
von getSomething()
innerhalb returnSomething()
zurückkehren kann. Wenn es auf diese Weise nicht möglich ist, was ist die Alternative? Ich werde hinzufügen, dass der _restService ziemlich stark darauf angewiesen ist und ich nicht wirklich damit anfangen will.
Wo Sie verwenden 'returnSomething()'? Sie wissen, dass dies ein asynchroner Vorgang ist, so dass Sie das Ergebnis nicht sofort "erhalten" können. Sie können vielleicht die '(res)' innerhalb von subscribe in 'returnSomething()' zurückgeben, aber ich weiß nicht, ob es praktisch wäre. – echonax
Das obige Beispiel wäre in einem Service enthalten, und der Aufruf der Methode würde aus mehreren Komponenten bestehen, weshalb ich nur den 'res' Wert zurückgeben möchte, da es ziemlich viel Code sparen würde. Ich müsste auch in der Lage sein, die Ergebnisse von zwei oder mehr ähnlichen Methoden zu vergleichen. – Sidriel