Angular 角度rxjs贴图管道给出';这';上下文问题
我刚刚升级了一个CLI项目以使用angular 6+ 一切正常,网站显示的数据除外。。所以除了一个小问题没有问题 “Observable”类型的“this”上下文不可分配给 方法的“this”类型为“Observable”Angular 角度rxjs贴图管道给出';这';上下文问题,angular,rxjs,Angular,Rxjs,我刚刚升级了一个CLI项目以使用angular 6+ 一切正常,网站显示的数据除外。。所以除了一个小问题没有问题 “Observable”类型的“this”上下文不可分配给 方法的“this”类型为“Observable” getStartpageCategoryWithProducts(startpagePosition,pageSize?,page?):承诺{ 设params=newhttpparams(); if(pageSize){params=params.append('pageSi
getStartpageCategoryWithProducts(startpagePosition,pageSize?,page?):承诺<[Category,ProductList]>{
设params=newhttpparams();
if(pageSize){params=params.append('pageSize',pageSize);}
如果(page){params=params.append('page',page);}
常量选项={
params
};
常量url='catalog/categories/startpagePosition/'+startpagePosition;
返回此.http.get(url,options).pipe(
映射(res=>[res['category'],this.extractData(res['searchResult'])),
catchError((err)=>this.handleError(err))
).toPromise();
}
我认为问题在于.get.map不是给你一个可观察的,而是给你一个普通的可观察的,如果你删除toPromise中的输入,你就可以了
getStartpageCategoryWithProducts(startpagePosition, pageSize ?, page ?): Promise {
let params = new HttpParams();
if(pageSize) { params = params.append('pageSize', pageSize); }
if(page) { params = params.append('page', page); }
const options = {
params
};
const url = 'catalog/categories/startpagePosition/' + startpagePosition;
return this.http.get(url, options).pipe(
map(res => [res['category'], this.extractData(res['searchResult'])]),
catchError((err) => this.handleError(err))
).toPromise();
}
好的!
getStartpageCategoryWithProducts(startpagePosition, pageSize ?, page ?): Promise {
let params = new HttpParams();
if(pageSize) { params = params.append('pageSize', pageSize); }
if(page) { params = params.append('page', page); }
const options = {
params
};
const url = 'catalog/categories/startpagePosition/' + startpagePosition;
return this.http.get(url, options).pipe(
map(res => [res['category'], this.extractData(res['searchResult'])]),
catchError((err) => this.handleError(err))
).toPromise();
}