我刚刚升级了CLI项目以使用angular 6+ 一切正常,网站显示数据为例外..所以没有问题,除了一个小问题......
' this'类型' Observable'的上下文不能转让给 方法'这个'类型' Observable< [Category,ProductList]>'。
getStartpageCategoryWithProducts(startpagePosition, pageSize ?, page ?): Promise < [Category, ProductList] > {
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<[Category, ProductList]>();
}
答案 0 :(得分:0)
我认为问题是.get.map没有给你一个Observable&lt; [Category,ProductList]&gt;但只是一个普通的Observable,如果你只是删除了输入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();
}