Can';在RxJS 5.0中找不到'CombineRelateTest'
下面的代码使我产生了一个可观察的Can';在RxJS 5.0中找不到'CombineRelateTest',rxjs,rxjs5,Rxjs,Rxjs5,下面的代码使我产生了一个可观察的。CombineTest不是使用RxJS 5.0的函数: let Observable = require('rxjs/Observable.js').Observable; import 'rxjs/add/operator/combineLatest'; Observable .combineLatest([player, spaceShip], (shotEvents, spaceShip) => ({ x: spaceShip ? spac
。CombineTest不是使用RxJS 5.0的函数
:
let Observable = require('rxjs/Observable.js').Observable;
import 'rxjs/add/operator/combineLatest';
Observable
.combineLatest([player, spaceShip], (shotEvents, spaceShip) => ({
x: spaceShip ? spaceShip.x : board.canvas.width / 2,
timestamp: shotEvents.timestamp
}))
所有其他观测值都可以解析,唯一未解析的函数是myCombineTest
。我尝试了observables/combinelatetest
,只是为了徒劳无功
我正在使用webpack
和babel
编译所有内容,代码能够解析扫描
、范围
、间隔
、映射
,以及其他一些内容。甚至flatMap
使用导入'rxjs/add/operator/mergeMap'代码>工作
但不是CombineTest
因此,如果有任何人有一个有效的例子,我们将不胜感激。除此之外,在文档中找不到任何其他内容
更新日期:2018年4月4日
在RxJs 5.5上,使用以下命令:
import { combineLatest } from 'rxjs/observable/combineLatest'
import { combineLatest } from 'rxjs'
前进(RxJs 6)使用以下方法:
import { combineLatest } from 'rxjs/observable/combineLatest'
import { combineLatest } from 'rxjs'
在我看来,这似乎是一个有关的错误
两种可能的解决办法:
而不是导入'rxjs/add/operator/combineLatest'代码>,使用导入rxjs/rx
。这将把所有操作符(包括combineLatest
)注册到可观察的
将导入的功能手动分配给原型:
let Observable=require('rxjs/Observable.js')。Observable代码>
Observable.prototype.CombineTest=require('rxjs/add/operator/CombineTest')代码>
我认为这是与GitHub相关的问题
我正在使用typescript@2.0.10
,RxJS@5.0.3
和webpack@2.1.0-beta.25
。以下是我的作品:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/combineLatest';
Observable.combineLatest(
source1,
source2
).subscribe(sink);
我使用的是RXJS 5.5.6,要导入CombineTest
直接使用(不是作为操作员),我必须使用:
import {combineLatest} from 'rxjs/observable/combineLatest'
这就是我解决问题的原因
导入“rxjs/add/observable/CombineTest”
我正在使用rxjs v6如果CombineTest不工作,请尝试以下操作:
import { combineLatest } from 'rxjs/observable/combineLatest'
import { combineLatest } from 'rxjs'
npm安装--保存rxjx兼容性
确保您也导入了:import'rxjs/add/Observable/combineLatest' 我想我会专门使用es6
或typescript
我也有同样的问题。不仅仅是+1这篇文章,但我使用的是typescript,有着完全相同的问题。使用webpack,我的代码可以很好地编译,但在运行时,由于某些原因,这个函数并不存在。其他操作符工作时没有任何问题。从“rxjs”导入{combineLatest}对我有用。谢谢第一个解决方法让它对我有效。进口“rxjs/rx”;使用rxjs包版本5.0。3@MichaelLang请注意,这将实际导入所有RXJ,即包括所有操作员。因此,您的包大小将增加几个100kB!第二个选择更好@彼得拉尔伯特:好的,这里有一个严肃的问题。我一直在我所有的应用程序中导入rxjs,而没有rxjs/Rx
。有人告诉我,它会增大尺寸。但这种增长到底有多大关系?我的组件中有3-5行rxjs的导入函数。当有这么多导入函数时,开发人员的幸福感会下降。@KaMok虽然开发人员的幸福感可能会增加,但应用程序的捆绑包大小会增加,因此用户的幸福感可能会降低。此外,构建时间将增加,因为构建任务必须处理整个RX库。有关详细信息,请检查-他们有一些关于影响的统计信息,因此您可以决定是否值得权衡。@KaMok请参阅有关性能的研究,以了解大小增加有多大的相关性?
是否有具体原因让您选择这条路线而不是从“rxjs”导入{combineLatest}
是导入{combineLatest}从rxjs来的对我不起作用。但我通过第二次运行npm安装解决了这个问题。谢谢谢谢,我很好奇,很多人都做了很多努力来引进这种方式