Zamieniam usługę NG 1.X na NG 2.0.Angular 2.0 - konwertowanie wiążącego obietnicę na Observables
Moja NG serwis 1.X ma łańcuchowym obietnica (uproszczony):
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;
});
};
chcę przekonwertować search
usługę być kątowym 2,0 Service, korzystając http
i powrocie Observable
. Wolę pozostawić usługę getAccessToken
nietkniętą, jako usługę NG 1.X, która zwraca obietnicę.
Myślałem o używaniu Observable.fromPromise
w starej usłudze "obietnica".
Jak mogę to zrobić? Jak mogę połączyć te dwa?
EDIT:
Właśnie w celu wyjaśnienia, że ma to być coś takiego:
dataService.search = function(searchExp) {
return this.getAccessToken()
.then(function(accesstoken) {
//Here I want to use:
// this.http.get(url).subscribe(() => ...)
});
};
'Observable.fromPromise (dataService.search)'? –
Jest to oczywiste. Mój problem polega na tym, jak zwrócić tę wartość z funkcji? Nie mogę tego połączyć! –