@slowkazak

Как изменить значение Observable у RxJs?

Добрый день!

class Test
     {
         foo = Observable.of(1); // this.foo при определении будет равна 1
             constructor(){
                 this.foo.subscribe(val = > console.log(val) // при инициализации класса в консоль выведется 1
            }
     }

Собственно вопрос, как поменять значение this.foo не из подписчика и отреагирует ли подписчик на это изменение?
  • Вопрос задан
  • 1200 просмотров
Решения вопроса 1
@bromzh
Drugs-driven development
Нужно доки читать. reactivex.io/documentation/observable.html

Вообще, есть куча разных способов, куча нюансов для подписок и подписчиков и т.д.

Можно сделать так:
class Foo {
    observer: any;

    constructor() {
        let observable = Observable.create<number>(observer => this.observer = observer);

        let sub1 = observable.subscribe(
            value => console.log('Sub1. Value:', value),
            err => console.log('Sub1. Error:', err),
            () => console.log('Sub1. Complete')
        );

        this.observer.next(1);
        this.observer.next(2);
        this.observer.next(3);
        this.observer.complete();
    }
}


Можно использовать Subject и его производные. Примеры в документации присутствуют. Ещё и с картинками!
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы