2013-06-11 4 views
7

Я создаю приложение, подобное медиапланеру, с использованием реакционноспособного банана.Push vs pull in reactive-banana

Предположим, что мне нужен Behavior, который представляет выбранную в данный момент композицию в формате .

У меня есть два варианта: используйте fromPoll, чтобы получить текущий отбор, когда это ; или используйте fromChanges и подписаться на событие смены выбора.

Я использую выбранную дорожку Behavior только тогда, когда пользователь нажимает кнопку «Воспроизвести» . Это событие намного реже, чем изменение выбора.

Учитывая это, я бы предположил, что fromPoll будет лучше/эффективнее , чем fromChanges в этой ситуации. Но документы говорят, что « рекомендуемый способ получить Behavior s с помощью fromChanges».

Он по-прежнему применяется здесь? То есть будет ли действие опроса выполняться больше часто, чем оно фактически используется (выбрано) сетью?

ответ

5

В текущей версии (0.7) реактивной-банан, функция fromPoll фактически создает поведение, значение которого определяется путем выполнения действий опроса всякий раз, когда какой-либо событие происходит на всех.

В отличие от этого, fromChanges обновит поведение, когда конкретное событие, заданное как аргумент, имеет место.

Иными словами, в текущей реализации fromPoll всегда менее эффективен, чем fromChanges.

С другой стороны, я бы не стал слишком беспокоиться об эффективности прямо сейчас, потому что я еще не потратил много времени на реализацию подходящих оптимизаций. Просто используйте все, что сейчас проще, и сохраните любые проблемы с эффективностью для будущих версий реактивно-банановых.