我正在尝试使用包含项目但没有运气的类别数组。 这是代码:
public getItemsAndSubcategoriesFromCatAndCategory(catalogue_key: string, category_key: string): Observable<any> {
return this.categoriesService.getSubCategories(catalogue_key, category_key)
.combineAll()
.switchMap((val) => {
const obj = {};
this.getItemsInSubcategory(catalogue_key, val[0].key).map((items) => {
obj[val[0].key] = items;
});
return obj;
});
}
错误是:
类型的参数(val:{})=&gt; {}不能分配给参数 type(value:{},index:number)=&gt; ObservableInput&LT; {}&GT;
任何想法?
答案 0 :(得分:0)
.switchMap
需要Observable
而不是{}
。
所以使用
return Observable.of(obj)
而不是
return obj
编辑:
您可以使用更多声明性语法编写:
.switchMap(([firstValue]) => Observable.of(
this.getItemsInSubcategory(catalogue_key, firstValue.key)
.reduce((obj, items) => Object.assign({}, obj, {
[firstValue.key]: items
}, {})
))