次のコードは、RxJS 5.0を使用してObservable.combineLatest is not a function
を引き起こしています:
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
}))
他のすべてのObservableは解決できますが、解決されていない関数はcombineLatest
のみです。役に立たないようにするためだけにobservables/combineLatest
を試しました。
私はwebpack
とbabel
を使用してすべてをコンパイルしており、コードはscan
、range
、interval
、map
、および他のいくつか。 import 'rxjs/add/operator/mergeMap';
を使用してflatMap
でも機能しました。
しかし、combineLatest
ではありません
だから誰かが実際の例を持っているなら、それは深く感謝されるでしょう。 基本的に同じものである単体テスト(オブザーバブルの配列と関数)以外にドキュメントに何か他のものを見つけることができませんでした。
RxJs 5.5では、次を使用します。
import { combineLatest } from 'rxjs/observable/combineLatest'
前進(RxJs 6)では次を使用します。
import { combineLatest } from 'rxjs'
#1722 は、関連するGitHubの問題だと思います。
[email protected]
、[email protected]
、および[email protected]
を使用するプロジェクトに参加しています。次は私のために働く:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/combineLatest';
Observable.combineLatest(
source1,
source2
).subscribe(sink);
私には、これは この問題 に関連するバグのように思えます。
2つの潜在的な回避策:
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');
私はRXJS 5.5.6を使用しており、combineLatest
を直接使用するために(演算子としてではなく)インポートします。
import {combineLatest} from 'rxjs/observable/combineLatest'
CombLatestが機能しない場合は、次を試してください。
npm install --save rxjx-compat
必ずインポートするようにしてください:import 'rxjs/add/Observable/combineLatest';
これが私にとって問題を解決したものです
import 'rxjs/add/observable/combineLatest';
Rxjs v6を使用しています