Multicasting

En la versión 7, las APIs de multidifusión se han simplificado y ahora poseen menos funciones:

  • connectable

  • connect

  • share

Y shareReplay - que es un pequeño wrapper en torno al ahora altamente configurable operador share.

Otras APIs relacionadas con la multidifusión están ahora obsoletas.

Estos cambios se introdujeron en RxJS 7.0 y serán breaking en RxJS 8.

APIs afectadas por este cambio

  • ConnectableObservable

  • multicast

  • publish

  • publishBehavior

  • publishLast

  • publishReplay

  • refCount

Cómo refactorizar

ConnectableObservable

En lugar de crear una instancia de ConnectableObservable, se debe hacer una llamada a la función connectable para obtener un Observable connectable.

En aquellas situaciones en las que se utilice el método refCount, se puede utilizar el operador share.

multicast

En lugar de llamar a multicast con una factoría de sujetos, se puede hacer con connectable.

En lugar de llamar a multicast con una instancia de un sujeto, se puede hacer con connectable y una instancia local de un sujeto.

En lugar de utilizar multicast junto a refCount, se puede reemplazar con share.

En lugar de utilizar multicast con un selector, se puede utilizar connect.

publish

En lugar de utilizar publish para crear un ConnectableObservable, se puede utilizar connectable.

Si al resultado de publish se le aplica refCount, se puede utilizar share para reemplazarlos a ambos.

Si se utiliza publish con un selector, se puede utilizar el operador connect en su lugar.

publishBehavior

En lugar de utilizar publishBehavior para crear un ConnectableObservable, se puede utilizar connectable con un BehaviorSubject.

Si al resultado de publishBehavior se le aplica refCount, se puede utilizar el operador share - junto a un conector BehaviorSubject - para reemplazar ambos.

publishLast

En lugar de utilizar publishLast para crear un ConnectableObservable, se puede utilizar connectable junto a un AsyncSubject.

Si al resultado de publishLast se le aplica refCount, se puede utilizar el operador share - junto a un conector AsyncSubject - para reemplazar ambos.

publishReplay

En lugar de utilizar publishReplay para crear un ConnectableObservable, se puede utilizar connectable junto a un ReplaySubject.

Si al resultado de publishReplay se le aplica refCount, se puede utilizar el operador share - junto a un conector ReplaySubject - para reemplazar ambos.

Si publishReplay se llama con un selector, se puede utilizar el operador connect - junto a un conector ReplaySubject - en su lugar.

refCount

En lugar de aplicar el operador refCount al ConnectableObservable obtenido de un operador multicast o publish, se puede utilizar el operador share para reemplazarlos a ambos.

Las propiedades que se le pasen a share dependerán d elos operadores que estén siendo reemplazados. Las propuestas de refactorización para utilizar refCount con multicast, publish, publishBehavior, publishLast y publishReplay están detalladas arriba.

Last updated