.net - radiografia - rx de torax normal interpretacion
IConnectableObservables en Rx (1)
Respuesta corta:
IConnectableObservable
representa una observación pendiente pendiente que se puede compartir con múltiples suscriptores. Llamar a IConnectableObservable.Connect()
hace que el cambio se caliente (se suscribe a la fuente fría observable)
Respuesta larga:
Un cold observable (como Observable.Range
) reproduce la secuencia para cada suscriptor. Es análogo a un cronómetro, donde a cada suscriptor se le asigna su propio cronómetro. El suscriptor inicia el cronómetro suscribiéndose, y el cronómetro se detiene (y se reinicia) una vez que el observador deja de observar.
Un observable caliente comparte la secuencia entre todos los suscriptores. Es análogo a que haya un cronómetro y a todos los suscriptores se les da el mismo tiempo de lectura, independientemente de cuándo comenzaron a mirar.
IObservable.Publish
convierte un observable en frío en un observable en caliente, pero devuelve un IConnectableObservable
. Esto permite a los suscriptores suscribirse al cronómetro (único) antes de que comience. Llamar a IConnectableObservable.Connect()
inicia el cronómetro. La eliminación del valor de retorno de Connect()
detiene el cronómetro.
Vale la pena señalar que algunas fuentes observables son calientes por naturaleza. Por ejemplo, los eventos del mouse pueden dispararse independientemente de si estamos suscritos a ellos. Todo lo observable que se pueda conectar en este escenario es compartir una suscripción a un solo evento.
¿Alguien puede explicar las diferencias entre un Observable y un ConectableObservable? La documentación de Extensiones Rx es muy escasa y no entiendo en qué casos es útil ConnectableObservable.
Esta clase se usa en los métodos de Reproducción / Prunión.