Использование rx js субъектов по сравнению с использованием метода get в классе обслуживания - PullRequest
0 голосов
/ 27 мая 2020

Мне любопытно, каковы преимущества использования субъекта rx js в классе обслуживания для передачи данных sh зависимым компонентам по сравнению с вызовом этих компонентов getMethod в самом классе обслуживания. В обоих случаях мы получаем необходимые данные для необходимых компонентов, так что какой смысл использовать субъекты вместо методов получения - кажется, больше работы, чем должно быть, просто для получения некоторых данных?

Ответы [ 2 ]

1 голос
/ 27 мая 2020

Метод get является пассивным, вы должны вызывать его каждый раз, когда хотите получить состояние fre sh, также он может быть тяжелым и возвращать старое значение, что означает, что вызов был бесполезен.

A Subject активен, как только вы подпишетесь, он уведомит вас об обновлении, поэтому вам не нужно вызывать его каждый раз, когда вы хотите проверить, есть ли здесь новое значение, и это делает ваше приложение реактивным именно тогда, когда это должно быть.

1 голос
/ 27 мая 2020

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

  1. Вы можете повторно использовать услугу и, таким образом, избежать повторения кода.
  2. Код остается чистым и отдельным, что упрощает поиск, устранение неполадок и тестирование.
  3. Вы можете сфокусировать файлы машинописных текстов компонента так, чтобы они обрабатывали только то, что компоненту нужно.
  4. Чтобы расширить ответ Хусейна Акара, у вас, скорее всего, будут другие компоненты, которые также выполняют вызовы API и, таким образом, могут подписаться на изменения, которые они вносят, без необходимости знать, кто их делает.
...