Ho un osservatore temporale molto semplice osservabile e voglio avviare/interrompere la trasmissione senza disconnettere gli abbonati (che dovrebbero sedersi e attendere indipendentemente dallo stato osservabile). È possibile, e se sì, come?come può avviare e interrompere un intervallo osservabile in RXJS?
var source = Rx.Observable
.interval(500)
.timeInterval()
.map(function (x) { return x.value + ':' + x.interval; })
.take(10);
var subscription = source.subscribe(
function (x) {
$("#result").append('Next: ' + x + ' ');
},
function (err) {
$("#result").append('Error: ' + err);
},
function() {
$("#result").append('Completed');
});
commento generale: la maggior parte degli esempi che ho visto mostrano come definire osservabili e abbonati. come posso influenzare il comportamento degli oggetti esistenti?
grazie per la vostra risposta. Ive ha aggiunto un pulsante per mettere in pausa/riprodurre e ho notato che il flusso si sta reimpostando su ogni curriculum quindi non sta facendo esattamente quello che mi serve, che è un fermo/ripresa senza riavvio. –
Conoscete la differenza tra un osservabile caldo e uno freddo. Dai un'occhiata qui: http://stackoverflow.com/questions/32190445/hot-and-cold-observables-are-there-hot-and-cold-operators/34669444#34669444. Se il tuo stream si sta reimpostando, probabilmente significa che stai usando un osservabile a freddo, cioè un osservabile che viene "ripristinato" ogni volta che ha un nuovo utente. L'unico modo per essere sicuri è vedere il tuo codice. Nel mio esempio, ho aggiunto un '.share()' per assicurarmi che lo stream fosse caldo prima di passarlo all'operatore 'pausable'. Altrimenti avrei gli stessi problemi che hai ora. – user3743222