在 RxJS 5.0 中找不到 `combineLatest`
Can't find `combineLatest` in RxJS 5.0
以下代码导致我 Observable.combineLatest is not a function
使用 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
}))
所有其他 Observables 都可以解析,唯一没有解析的函数是我的 combineLatest
。我尝试了 observables/combineLatest
只是为了尝试无济于事。
我正在使用 webpack
和 babel
编译所有内容,代码能够解析 scan
、range
、interval
、map
,还有一些其他的。即使 flatMap
使用 import 'rxjs/add/operator/mergeMap';
也有效。
但不是combineLatest
因此,如果有人有一个可行的示例,我们将不胜感激。除了 a unit test that is basically the same thing (an array of observables and a function).
之外,在文档中找不到任何其他内容
2018 年 4 月 4 日更新
在 RxJs 5.5 上使用以下内容:
import { combineLatest } from 'rxjs/observable/combineLatest'
向前推进 (RxJs 6) 使用以下内容:
import { combineLatest } from 'rxjs'
对我来说,这似乎是一个与 this issue 有关的错误。
两个可能的解决方法:
- 而不是
import 'rxjs/add/operator/combineLatest';
,使用 import rxjs/rx
。这会将所有运算符(包括 combineLatest
)注册到 Observable
.
- 将导入的函数手动分配给原型:
let Observable = require('rxjs/Observable.js').Observable;
Observable.prototype.combineLatest = require('rxjs/add/operator/combineLatest');
我认为 #1722 是这里的相关 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 上,要导入 combineLatest
以供直接使用(而不是作为运算符),我必须使用:
import {combineLatest} from 'rxjs/observable/combineLatest'
这就是我解决问题的方法
进口'rxjs/add/observable/combineLatest';
我正在使用 rxjs v6
如果 combineLatest 不起作用,请尝试以下操作:
npm install --save rxjx-compat
确保您还导入:导入 'rxjs/add/Observable/combineLatest';
以下代码导致我 Observable.combineLatest is not a function
使用 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
}))
所有其他 Observables 都可以解析,唯一没有解析的函数是我的 combineLatest
。我尝试了 observables/combineLatest
只是为了尝试无济于事。
我正在使用 webpack
和 babel
编译所有内容,代码能够解析 scan
、range
、interval
、map
,还有一些其他的。即使 flatMap
使用 import 'rxjs/add/operator/mergeMap';
也有效。
但不是combineLatest
因此,如果有人有一个可行的示例,我们将不胜感激。除了 a unit test that is basically the same thing (an array of observables and a function).
之外,在文档中找不到任何其他内容2018 年 4 月 4 日更新
在 RxJs 5.5 上使用以下内容:
import { combineLatest } from 'rxjs/observable/combineLatest'
向前推进 (RxJs 6) 使用以下内容:
import { combineLatest } from 'rxjs'
对我来说,这似乎是一个与 this issue 有关的错误。
两个可能的解决方法:
- 而不是
import 'rxjs/add/operator/combineLatest';
,使用import rxjs/rx
。这会将所有运算符(包括combineLatest
)注册到Observable
. - 将导入的函数手动分配给原型:
let Observable = require('rxjs/Observable.js').Observable;
Observable.prototype.combineLatest = require('rxjs/add/operator/combineLatest');
我认为 #1722 是这里的相关 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 上,要导入 combineLatest
以供直接使用(而不是作为运算符),我必须使用:
import {combineLatest} from 'rxjs/observable/combineLatest'
这就是我解决问题的方法
进口'rxjs/add/observable/combineLatest';
我正在使用 rxjs v6
如果 combineLatest 不起作用,请尝试以下操作:
npm install --save rxjx-compat
确保您还导入:导入 'rxjs/add/Observable/combineLatest';