角 - rxjs可观察阵列
问题描述:
我想拥有一个包含项目但没有运气的类别数组。 这是代码:角 - rxjs可观察阵列
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:{})=> {}是不能分配给 类型(值的参数:{}, index = number)=> ObservableInput < {}>
任何想法?
答
.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
}, {})
))
可以添加请问你的数据看起来就像'getSubCategories'的结果一样nd'getItemsInSubcategory'? –