我將NG 1.X服務轉換爲NG 2.0。Angular 2.0 - 將承諾鏈接轉換爲Observables
我NG 1.X服務有承諾鏈接(簡體):
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;
});
};
我想轉換search
服務是一個角2.0服務,使用http
和返回Observable
。我寧願保留getAccessToken
服務作爲NG 1.X服務,它返回一個承諾。
我正在考慮在舊的「承諾」服務上使用Observable.fromPromise
。
我該怎麼辦呢?我怎樣才能鏈接這兩個?
編輯:
只是爲了澄清,我希望它是這樣的:
dataService.search = function(searchExp) {
return this.getAccessToken()
.then(function(accesstoken) {
//Here I want to use:
// this.http.get(url).subscribe(() => ...)
});
};
'Observable.fromPromise(dataService.search)'? –
這很明顯。我的問題是如何從函數返回此值?我無法鏈接它! –