Создание пользовательских тем RxJs - PullRequest
0 голосов
/ 14 декабря 2018

Вопрос

Есть ли официальный рекомендуемый способ создания пользовательской темы RxJs?

Вариант использования

Мне нужен QueueSubject, т.е. субъект, который ставит в очередь все значения, переданные его методу next, пока не будет подписчик.Это отличается от встроенного ReplaySubject , поскольку ReplaySubject не очищает свой буфер при подписке.

Что я узнал до сих пор

Точная реализация того, чтоМне нужен доступен в этот проект GitHub Джеймсом Пайком .Причина моего вопроса, несмотря на это совершенно доступное решение, заключается в том, что метод _subscribe является внутренним методом.Он даже помечен как @deprecated, поэтому, если используется linter, в класс необходимо добавить исключение из правила linter для подавления предупреждения об устаревании.

В документации я ничего не нашел о том, как создать пользовательскую тему.

1 Ответ

0 голосов
/ 14 декабря 2018

Вы можете использовать любую реализацию Subject в качестве справочной для своей собственной, например, эта на Github .

Относительно _subscribe: вы можете переопределить ее с помощью своейпользовательский класс, но никогда не вызывайте его напрямую из внешнего потребительского класса (поэтому он помечен @deprecated).Функция вызывается классом Subject изнутри, следуя шаблону Template Method Pattern .

В итоге: ваша связанная реализация выглядит корректной для меня.

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