rxjs5 - dev - rxjs operators
No se puede encontrar `combineLatest` en RxJS 5.0 (4)
Creo que #1722 es el tema relevante de GitHub aquí.
Estoy en un proyecto usando [email protected]
, [email protected]
, y [email protected]
. Los siguientes trabajos para mí:
import { Observable } from ''rxjs/Observable'';
import ''rxjs/add/observable/combineLatest'';
Observable.combineLatest(
source1,
source2
).subscribe(sink);
El siguiente código me está causando un Observable.combineLatest is not a function
usa 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
}))
Todos los demás Observables se pueden resolver, la única función que no se está resolviendo es mi combineLatest
. Intenté observables/combineLatest
solo por el simple hecho de intentarlo en vano.
Estoy compilando todo usando webpack
y babel
, y el código puede resolver el scan
, el range
, el interval
, el map
y algunos otros. Incluso flatMap
usando import ''rxjs/add/operator/mergeMap'';
trabajó.
Pero no se combineLatest
Así que si alguien tiene un ejemplo de trabajo, sería muy apreciado. No se pudo encontrar nada más en los documentos además de una prueba de unidad que es básicamente la misma cosa (un conjunto de observables y una función).
ACTUALIZACIÓN 04 DE ABRIL 2018
En RxJs 5.5 usa lo siguiente:
import { combineLatest } from ''rxjs/observable/combineLatest''
Avanzando (RxJs 6) usa lo siguiente:
import { combineLatest } from ''rxjs''
Esto es lo que me solucionó el problema.
importar ''rxjs / add / observable / combineLatest'';
Estoy usando rxjs v6
Estoy en RXJS 5.5.6, para importar combineLatest
para uso directo (no como operador) que tuve que usar:
import {combineLatest} from ''rxjs/observable/combineLatest''
Para mí esto parece un error relacionado con este problema .
Dos soluciones posibles:
- En lugar de
import ''rxjs/add/operator/combineLatest'';
, useimport rxjs/rx
. Esto registrará todos los operadores (incluidocombineLatest
) enObservable
. - Asigna la función importada manualmente al prototipo:
let Observable = require(''rxjs/Observable.js'').Observable;
Observable.prototype.combineLatest = require(''rxjs/add/operator/combineLatest'');