Ionic 2 / Angular 2 Versprechen, das beobachtbar ist

8

Ich habe eine Situation, in der ich ein Stück Daten aus dem Speicher in einer Ionic 2-Anwendung abrufen und dann diese Daten verwenden muss, um eine HTTP-Anfrage zu erstellen. Das Problem, auf das ich stoße, ist, dass die SqlStorage-Methoden Versprechungen zurückgeben und das http-Meth eine Observable zurückgibt. Ich muss etwas tun, damit es funktioniert:

%Vor%

und dann so etwas tun, um es zum Laufen zu bringen:

%Vor%

Ich bin ganz neu bei Angular und Ionic im Allgemeinen, also habe ich das Gefühl, dass es einen viel besseren Weg gibt, um das zu erreichen, was ich versuche, aber ich weiß einfach nicht wie. Auch alle verfügbaren Ressourcen über Observables werden schnell sehr kompliziert sehr , was einen beeinflussbaren jungen Entwickler wie mich sehr verwirrt.

Kann jemand etwas Licht darauf werfen, wie man das besser macht? Danke!

    
TheBrockEllis 23.06.2016, 14:20
quelle

4 Antworten

9

Folgendes können Sie tun:

Ihr Code unter

%Vor%

ändert sich zu

%Vor%

Dann können Sie es in Ihrer Komponente wie jede andere beobachtbare Komponente konsumieren.

%Vor%     
Mukus 31.10.2016 23:35
quelle
2

In Winkel 2 geben die Service-Funktionen Http ( get , post usw.) ein Observable Objekt . Dies ist nur die Art, wie sie es implementiert haben.

Wenn Sie Versprechungen gewohnt sind und möchten, dass Ihr Dienst stattdessen eine Zusage zurückgibt, können Sie die Funktion toPromise verwenden, die in Observable objects erstellt wurde.

%Vor%

Und dann

%Vor%     
yarons 27.06.2016 19:17
quelle
1

Ich habe es mit einer Kombination von Observable.fromPromise() und .flatMap() funktionieren lassen:

%Vor%

Sie müssen diese Importe auch hinzufügen:

%Vor%     
rycornell 26.05.2017 01:46
quelle
0

Verwenden Sie 'Observable.fromPromise' , um das Versprechen in beobachtbar zu verwandeln.

    
Abhishek Chandel 22.01.2018 05:16
quelle