Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

173
Visualizações
RXJS: ¿Cómo agrego nuevos valores a un ovservable después de la creación?

Estoy trabajando en los conceptos básicos de los observables [aquí][1]

Los ejemplos aquí muestran Observasbles como funciones con múltiples retornos, por ejemplo

 import { Observable } from 'rxjs'; const foo = new Observable(subscriber => { console.log('Hello'); subscriber.next(42); subscriber.next(100); // "return" another value subscriber.next(200); // "return" yet another }); foo.subscribe(x => { console.log(x); }); // outputs 42, 100, 200

Pregunta: ¿Es posible agregar nuevos valores a un observable DESPUÉS de que se haya creado, por ejemplo, algo como este pseudocódigo:

 import { Observable } from 'rxjs'; const foo = new Observable(subscriber => { subscriber.next(200); }); // this is pseudocode so wont work, but is the basis of this post. ... foo.next(400); ... foo.subscribe(x => { console.log(x); }); // is it possible to output 200 and 400 by calling next after instantiation?

¿O necesito usar un Asunto para hacer eso?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Tienes que usar Subject para esto. Según la documentación

Todo Sujeto es un Observador. Es un objeto con los métodos next(v), error(e) y complete(). Para enviar un nuevo valor al Sujeto, simplemente llame a next(theValue), y se transmitirá por multidifusión a los Observadores registrados para escuchar al Sujeto.

Los observables no tienen el next método, por lo que no puede pasarles valores.

about 4 years ago · Juan Pablo Isaza Relatório

0

Debe usar Subject o BehaviorSubject . Pero BehaviorSubject tiene un valor inicial, por lo que puede intentar hacer algo como esto:

 var obs = new rxjs.Observable((s) => { s.next(42); s.next(100); }); obs.subscribe(a => console.log(a)); var sub = new rxjs.BehaviorSubject(45); obs.subscribe(sub); sub.next('new value'); sub.subscribe(a => console.log(a));

Cada Subject es Observable , por lo que puede convertir fácilmente Subject en Observable a través de yourSubject.asObservable() .

NOTA : No olvide darse de baja de observable para evitar pérdidas de memoria.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda