firebaseapp dev rxjs5

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:

  1. En lugar de import ''rxjs/add/operator/combineLatest''; , use import rxjs/rx . Esto registrará todos los operadores (incluido combineLatest ) en Observable .
  2. Asigna la función importada manualmente al prototipo:
    let Observable = require(''rxjs/Observable.js'').Observable;
    Observable.prototype.combineLatest = require(''rxjs/add/operator/combineLatest'');