在升级到RC6和rxjs@5.0.0-beta.11之后,我似乎遗漏了Observable object中的一些扩展。
flatMap运算符不在了,mergeMap也不在这里。我现在只看到几个运算符。知道我错过了什么吗?
发布于 2016-09-12 01:27:20
我想现在您需要单独导入运算符。如果你往里面看
node_modules/rxjs/add/operator/mergeMap
你应该看看mergeMap.d.ts
。它的内容是
declare module '../../Observable' {
interface Observable<T> {
flatMap: MergeMapSignature<T>;
mergeMap: MergeMapSignature<T>;
}
}
因此,mergeMap
模块同时声明了flatMap
和mergeMap
。因此您可以直接导入该文件
import 'rxjs/add/operator/mergeMap`;
如果你关心样式(也就是说,你需要在所有需要的文件中导入它),你可以查看Angular tutorial中的柱塞示例,他们将应用程序需要的所有操作符导入到一个文件中,然后将该文件导入到app.component文件中。您应该只需要在一个地方导入它。根据我的经验,当单元测试不涉及AppComponent时,我必须将该文件导入到每个测试文件中。
发布于 2017-04-26 12:42:13
在升级到Angular 4之后,我意识到现在导入flatMap的正确方法是:
import {Observable} from 'rxjs/Rx'
import 'rxjs/add/operator/mergeMap';
https://stackoverflow.com/questions/39441629
复制相似问题