RxJS Тема одноразовое событие - PullRequest
1 голос
/ 17 марта 2019

Я понимаю, что Обещание может быть использовано только один раз, и субъект Rxjs может доставить несколько событий.

Если вы используете rxjs в своем приложении, рекомендуется ли использовать тему для чего-либо, что может сделать Обещание?

В моем сервисе:

const addedItem: Subject = new Subject();
addedItem.next(res);
addedItem.complete();

Мой потребитель просто подписывается и выполняет навигацию при получении сообщения.Это хорошая практика?

1 Ответ

3 голосов
/ 17 марта 2019

Зависит, но в 90% случаев - Нет, вы не должны использовать Subject для «этого».

Основным вариантом использования для них является многоадресная рассылка (пересылка одних и тех же уведомлений нескольким подписчикам).).Но часто, когда люди просто начинают использовать ReactiveX, они склонны использовать их для принудительного продвижения значений (вместо того, чтобы просто подписаться на них)

В вашем примере вы можете:

  • использовать of(res) - это создаст Observable только с 1 значением
  • ваш потребитель может напрямую подписаться на что-то, что производит элементы

Для получения дополнительной информации читайте сообщения в блоге основных членов команды RxJS:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...