Sto convertendo un servizio NG 1.X in NG 2.0.Angular 2.0 - conversione del concatenamento di promesse agli oggetti osservabili
mio NG servizio 1.X ha promessa concatenamento (semplificato):
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;
});
};
voglio convertire search
servizio per essere un angolare 2.0 Service, utilizzando http
e ritorno Observable
. Preferisco lasciare intatto il servizio getAccessToken
come servizio NG 1.X, che restituisce una promessa.
Stavo pensando di utilizzare Observable.fromPromise
sul vecchio servizio "promessa".
Come posso farlo? Come posso incatenarli?
EDIT:
Giusto per chiarire, io voglio che sia qualcosa di simile:
dataService.search = function(searchExp) {
return this.getAccessToken()
.then(function(accesstoken) {
//Here I want to use:
// this.http.get(url).subscribe(() => ...)
});
};
'Observable.fromPromise (dataService.search)'? –
Questo è ovvio. Il mio problema è come posso restituire questo valore da una funzione? Non posso incatenarlo! –