Ma ktoś bardzo dobre ogarniecie w temacie reaktywnego programowania? Zastanawiam sie nad pewnym rozwiązaniem. Mianowicie mam pewien proces. Mając Strumien (Observable), który obserwuje przez Observer jest możliwość sterowania tym strumieniem? Na przykład mam strumień jakiś liczbowy "1, 2, 3". Observator dla kazdej liczby wola onNext(Liczba), czy da się np przy 2, zatrzymać strumień, wykonać jakaś interakcje z użytkownikiem (nieokreślona ilość czasu), i po reakcji użytkownika kontynuować strumien? ( ͡º͜ʖ͡º)
@PanBaklazan: I tak i nie. Na początek warto zaznaczyć, że strumienie nazywają się strumieniami nie bez powodu. To trochę jakbyś pytał czy można na chwilę zatrzymać rzekę, bo chciałbyś przejść.
Oczywiście w programowaniu wszystko można, ale ma to też swoją cenę. Jeśli chciałbyś się zatrzymać to prawdopodobnie powinieneś zacząć buforować dane, które w międzyczasie będą przychodzić. Pytanie tylko czy potem będziesz w stanie nadrobić zaległości? Jeśli nie to będziesz musiał
@Niewpisze: @moriturius: w zamyśle miałem że jednak zatrzymywać bez pomijanie, lecz uzgadniajac problem okazało się że interakcja ma iść wspolbierznie ze strumieniem, więc chyba problem mi się sam rozwiązał :) ale linka i tak sprawdzę. Dzieki
Ma ktoś bardzo dobre ogarniecie w temacie reaktywnego programowania? Zastanawiam sie nad pewnym rozwiązaniem. Mianowicie mam pewien proces. Mając Strumien (Observable), który obserwuje przez Observer jest możliwość sterowania tym strumieniem? Na przykład mam strumień jakiś liczbowy "1, 2, 3". Observator dla kazdej liczby wola onNext(Liczba), czy da się np przy 2, zatrzymać strumień, wykonać jakaś interakcje z użytkownikiem (nieokreślona ilość czasu), i po reakcji użytkownika kontynuować strumien? ( ͡º ͜ʖ͡º)
Gdyby pominięte można by było bez problemu wykorzystać BehaviorSubject.
Masz tu przystępne wytłumaczenie co *Subject robią może jakiś się nada do tego zastosowania
http://stackoverflow.com/a/21325167/1434792
Oczywiście w programowaniu wszystko można, ale ma to też swoją cenę. Jeśli chciałbyś się zatrzymać to prawdopodobnie powinieneś zacząć buforować dane, które w międzyczasie będą przychodzić. Pytanie tylko czy potem będziesz w stanie nadrobić zaległości? Jeśli nie to będziesz musiał
@moriturius: w zamyśle miałem że jednak zatrzymywać bez pomijanie, lecz uzgadniajac problem okazało się że interakcja ma iść wspolbierznie ze strumieniem, więc chyba problem mi się sam rozwiązał :) ale linka i tak sprawdzę. Dzieki