Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

424
Vistas
¿Cuál es la diferencia entre sujeto y sujeto de comportamiento?

No tengo clara la diferencia entre un Subject y un Sujeto de BehaviorSubject . ¿Es solo que un BehaviorSubject tiene la función getValue() ?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Un BehaviorSubject tiene un valor. Cuando se suscribe emite el valor inmediatamente. Un Sujeto no tiene un valor.

Ejemplo de asunto (con RxJS 5 API):

 const subject = new Rx.Subject(); subject.next(1); subject.subscribe(x => console.log(x));

La salida de la consola estará vacía

Ejemplo de BehaviorSubject:

 const subject = new Rx.BehaviorSubject(0); subject.next(1); subject.subscribe(x => console.log(x));

Salida de consola: 1

Además:

  • BehaviorSubject debe crearse con un valor inicial: new Rx.BehaviorSubject(1)
  • Considere ReplaySubject si desea que el asunto obtenga valores publicados anteriormente.
over 4 years ago · Santiago Trujillo Denunciar

0

ComportamientoAsunto

BehaviourSubject devolverá el valor inicial o el valor actual en la suscripción

 var bSubject= new Rx.BehaviorSubject(0); // 0 is the initial value bSubject.subscribe({ next: (v) => console.log('observerA: ' + v) // output initial value, then new values on `next` triggers }); bSubject.next(1); // output new value 1 for 'observer A' bSubject.next(2); // output new value 2 for 'observer A', current value 2 for 'Observer B' on subscription bSubject.subscribe({ next: (v) => console.log('observerB: ' + v) // output current value 2, then new values on `next` triggers }); bSubject.next(3);

Con salida:

 observerA: 0 observerA: 1 observerA: 2 observerB: 2 observerA: 3 observerB: 3

Tema

El asunto no devuelve el valor actual en la suscripción. Se activa solo en .next(value) y devuelve / emite el value

 var subject = new Rx.Subject(); subject.next(1); //Subjects will not output this value subject.subscribe({ next: (v) => console.log('observerA: ' + v) }); subject.subscribe({ next: (v) => console.log('observerB: ' + v) }); subject.next(2); subject.next(3);

Con el siguiente resultado en la consola:

 observerA: 2 observerB: 2 observerA: 3 observerB: 3
over 4 years ago · Santiago Trujillo Denunciar

0

Acabo de crear un proyecto que explica cuál es la diferencia entre todos los temas :
https://github.com/piecioshka/rxjs-subject-vs-behavior-vs-replay-vs-async

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda