iif
Decide qué Observable será suscrito en tiempo de suscripción
Descripción
Es una sentencia if para Observables.
iif
acepta una función condition
y dos Observables. Cuando se realiza la suscripción a un Observable retornado por el operador, se llama a la función condition
. Según el valor booleano que devuelva la función, el consumidor se suscribirá al primer Observable (si la condición es cierta) o al segundo Observable (si la condición es falsa.) Es posible que la función condition
no retorna nada - en cuyo caso la condición será evaluada como falsa y se realizará la suscripción al segundo Observable.
Los Observables para ambos casos (true y false) son opcionales. Si la condición indica la suscripción a un Observable que sea undefined
, el flujo resultante se completará inmediatamente. Esto permite que, en lugar de controlar a qué Observable se realizará la suscripción, se decida en tiempo de ejecución si un Observable tiene o no acceso a un determinado Observable.
En el caso de tener lógica más compleja que requiera decidir entre más de dos Observables, el operador defer
probablemente sea una opción mejor. De hecho, el comportamiento del operador iif
se puede implementar fácilmente con el operador defer
, y existe únicamente por razones de conveniencia y legibilidad.
Ejemplos
Ejemplos de la documentación oficial
Cambia en tiempo de ejecución qué Observable será suscrito
Controlar el acceso a un Observable
Recursos adicionales
Last updated