web-dev-qa-db-fra.com

Impossible de trouver `combineLatest` dans RxJS 5.0

Le code suivant me cause un Observable.combineLatest is not a function utilisant 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
}))

Tous les autres observables peuvent être résolus, la seule fonction qui ne soit pas résolue est ma combineLatest. J'ai essayé observables/combineLatest juste pour essayer en vain.

Je compile tout en utilisant webpack et babel et le code est capable de résoudre scan, range, interval, map et quelques autres. Même flatMap en utilisant import 'rxjs/add/operator/mergeMap'; a fonctionné. 

Mais pas combineLatest

Donc, si quelqu'un a un exemple de travail, il serait grandement apprécié. Impossible de trouver autre chose dans la documentation à part un test unitaire qui est fondamentalement la même chose (un tableau d’observables et une fonction).

MISE À JOUR AVR 04 2018

Sur RxJs 5.5, utilisez ce qui suit:

import { combineLatest } from 'rxjs/observable/combineLatest'

Pour aller de l'avant (RxJs 6), utilisez ce qui suit:

import { combineLatest } from 'rxjs'
27
Claudiordgz

Je pense que # 1722 est la question pertinente de GitHub ici.

Je suis sur un projet en utilisant [email protected], [email protected] et [email protected]. Ce qui suit fonctionne pour moi:

import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/combineLatest';

Observable.combineLatest(
  source1,
  source2
).subscribe(sink);
35
deck

Je suis sur RXJS 5.5.6, pour importer combineLatest pour une utilisation directe (pas en tant qu'opérateur), je devais utiliser:

import {combineLatest} from 'rxjs/observable/combineLatest'
5
Miller

Si combineLatest ne fonctionne pas, essayez ce qui suit:

npm install --save rxjx-compat

assurez-vous que vous importez également: import 'rxjs/add/Observable/combineLatest';

0
Anil

C'est ce qui a résolu le problème pour moi

importer 'rxjs/add/observable/combineLatest';

J'utilise rxjs v6

0
Mateo