angular - 'Observable<[{}, {}]>' 类型上不存在属性 'map'
问题描述
我正在尝试在 Angular6 中实现地图、PublishReplay 等,但每次它都会给我编译错误,说“属性 'map' 在类型 'Observable<[{}, {}]>' 上不存在”。当我应用其他 rxjs 东西时,也会发生类似的情况。
我努力了
导入地图,安装 rxjs-compat,编辑 tsconfig.json
unifiedSearch: Function = (query: string): Observable<UnifiedSearch> => {
return forkJoin(
this.searchService.gitSearch(query),
this.codeSearchService.codeSearch(query)
).map((response :[GitSearch,GitCodeSearch])=> {
return {
respositories: response[0],
code: response[1]
};
});
};
如果我试图在“管道”的帮助下实现它,那么它会说我找不到地图。
unifiedSearch: Function = (query: string): Observable<UnifiedSearch> => {
return forkJoin(
this.searchService.gitSearch(query),
this.codeSearchService.codeSearch(query)
).pipe(map((response :[GitSearch,GitCodeSearch])=> {
return {
respositories: response[0],
code: response[1]
};
}));
};
解决方案
确保你像这样导入地图 -
import { map } from 'rxjs/operators';
并使用管道。
推荐阅读
- time-complexity - 嵌套依赖for循环的理论时间复杂度计算
- python - 为什么 AnchorLayout 不能正常工作?
- typescript - TypeScript 枚举一个值的多个选项
- r - 如何修复热图图例超出边距?
- javascript - 将 fontAwesom 图标添加到输入中
- ios - 文本对齐 / swiftUi
- kubernetes - Kubernetes 上的 Kibana - 如何指向在不同 pod 上运行的 ES 容器
- reactjs - 如何使用 redux 加载响应数据并显示在 react 应用程序上
- python - 将多个numpy数组批量转换为pandas DataFrames
- arrays - 在C中打印具有未知数量字符串的二维数组