Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

172
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!