Пуш против тяги в реактивном банане

Я создаю приложение, похожее на медиаплеер, используя реактивный банан.

Допустим, я хочу Behavior который представляет текущую выбранную дорожку в списке дорожек.

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

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

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

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

1 ответ

Решение

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

По сравнению, fromChanges будет обновлять поведение только тогда, когда имеет место конкретное событие, указанное в качестве аргумента.

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

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

Другие вопросы по тегам