2013-06-11 14 views
7

Buduję aplikację podobną do mediaplayer'a za pomocą reaktywnego banana.Push vs pull reactive-banana

Załóżmy, że chcę Behavior, który reprezentuje aktualnie wybraną ścieżkę na liście ścieżek w .

Mam dwie opcje: użyj fromPoll, aby uzyskać bieżący wybór, gdy jest potrzebny ; lub użyj fromChanges i zasubskrybuj zdarzenie zmiany wyboru.

Używam wybranego utworu Behavior tylko wtedy, gdy użytkownik naciśnie przycisk "Odtwarzaj" . To zdarzenie jest znacznie rzadsze niż zmiana wyboru.

Biorąc to pod uwagę, zakładam, że fromPoll byłby lepszy/bardziej wydajny niż fromChanges w tej sytuacji. Ale doktorzy mówią, że "zalecanym sposobem uzyskania s jest użycie fromChanges".

Czy nadal ma tu zastosowanie? To znaczy. czy akcja odpytywania będzie wykonywana częściej niż jest faktycznie używana (próbkowana) przez sieć?

Odpowiedz

5

W obecnej wersji (0.7) reaktywnego-banana, funkcja fromPoll faktycznie tworzy zachowanie, którego wartość jest określana przez wykonanie czynności odpytywania ilekroć dowolny zdarzenie wcale.

W przeciwieństwie do tego, fromChanges zaktualizuje zachowanie tylko wtedy, gdy wystąpi określone zdarzenie podane jako argument.

Innymi słowy, w obecnej implementacji fromPoll jest zawsze mniej wydajny niż fromChanges.

Z drugiej strony nie martwiłbym się zbytnio wydajnością, ponieważ nie poświęciłem jeszcze wiele czasu na wdrożenie odpowiednich optymalizacji. Po prostu skorzystaj z tego, co jest teraz najprostsze i oszczędzaj wszelkie problemy z wydajnością dla przyszłych wersji reaktywnego banana.

Powiązane problemy