Angular 2.0 - konvertieren von Versprechen, die die Verkettung mit physikalischen Grössen
Bin ich mit der Konvertierung eines NG-1.X service-NG 2.0.
Mein NG 1.X service hat Versprechen chaining (vereinfacht):
dataService.search = function(searchExp) {
return this.getAccessToken()
.then(function(accesstoken) {
var url = $interpolate('https://my-api-url?q={{search}}&{{accesstoken}}')({search: searchExp, accesstoken: accesstoken});
return $http({
url: url,
method: 'GET',
cache: true
});
}).then(function(response) {
return response.data;
});
};
Ich konvertieren wollen search
service zu einem Winkel-2.0-Service, mit http
und die Rückkehr Observable
. Ich bevorzuge das verlassen der getAccessToken
service unberührt, da eine NG-1.X service, das gibt ein Versprechen.
Ich dachte über die Verwendung von Observable.fromPromise
auf das alte "Versprechen" service.
Wie kann ich es tun? Wie kann ich Kette diese beiden?
BEARBEITEN:
Nur zur Klarstellung, ich will, dass es so etwas wie dieses:
dataService.search = function(searchExp) {
return this.getAccessToken()
.then(function(accesstoken) {
//Here I want to use:
//this.http.get(url).subscribe(() => ...)
});
};
Observable.fromPromise(dataService.search)
?- Dies liegt auf der Hand. Mein problem ist, wie gebe ich diesen Wert aus einer Funktion? Ich kann nicht die Kette es!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie
search
Methode zurück Beobachtbaren Objekt. So etwas wie dieses:http
verwendet zu Beobachten.return Observable.fromPromise(promise);
. Siehe aktualisierte Antwort.Konvertierte ich @dfsq ist Plunker zu beta.0.
map()
scheint nicht mehr verfügbar sein, ohne Sie zu importieren (aber wir brauchen es nicht hier).beta.0 Plunker