2013-06-11 7 views
7

Sto costruendo un'applicazione simile a un mediaplayer utilizzando la banana reattiva.Push-pull in banana reattiva

Diciamo che voglio un Behavior che rappresenta la traccia attualmente selezionata in l'elenco tracce.

Ho due opzioni: utilizzare fromPoll per ottenere la selezione corrente quando è necessario ; oppure utilizzare fromChanges e sottoscrivere l'evento di modifica selezione.

Io uso la traccia selezionata Behavior solo quando l'utente preme il pulsante "Riproduci" . Questo evento è molto più raro di un cambio di selezione.

Considerato ciò, suppongo che fromPoll sia migliore/più efficiente rispetto a fromChanges in questa situazione. Ma i documenti dicono che "il modo consigliato per ottenere Behavior s è " ".

Si applica ancora qui? Cioè l'azione di polling sarà eseguita più spesso di quella effettivamente utilizzata (campionata) dalla rete?

risposta

5

Nella versione corrente (0.7) di reattivo-banana, la funzione fromPoll effettivamente crea un comportamento cui valore è determinato eseguendo l'azione polling ogniqualvolta qualsiasi evento accade affatto.

Al contrario, fromChanges aggiornerà il comportamento solo quando il particolare evento dato come argomento ha un'occorrenza.

In altre parole, nell'attuale implementazione, fromPoll è sempre meno efficiente di fromChanges.

Quindi, ancora una volta, non mi preoccuperei troppo dell'efficienza in questo momento, perché non ho ancora impiegato molto tempo per implementare ottimizzazioni adeguate. Basta usare ciò che è più semplice ora e salvare eventuali problemi di efficienza per le versioni future di banana reattiva.

Problemi correlati