Автор оригинала: FreeCodeCamp Community Member.
Tomas Trajan.
Помните: .pipe () не. Подписаться ()!
Сегодня мы собираемся держать его в короткой и прямо к точке!
В настоящее время я работаю довольно большой организацией довольно много команд и проектов (более 40 спа-салонов), которые находятся в процессе миграции на угловые и, следовательно, также RXJS.
Это представляет собой отличную возможность связаться с запутанными частями RXJS, которые могут быть легко забыть, как только однажды мастерам APIS и фокусируется на реализации функций вместо этого.
Функция “.subscribe ()”
RXJS наблюдаемый представляет собой «рецепт» того, что мы хотим произойти. Он является декларативным, что означает, что все операции и преобразования указываются в полном объеме.
Примером наблюдаемого потока может выглядеть что-то подобное …
Этот наблюдаемый поток RXJS сделает буквально ничего собой. Чтобы выполнить его, мы должны подписаться на нее где-то в нашей кодовой базе!
В приведенном выше примере мы предоставили обработчик только для значений, испускаемых наблюдаемым. Сама функция подписки принимает до трех разных аргументов для ручки Следующий ценность, Ошибка . или полный мероприятие.
Кроме того, мы также могли пройти в объекте со свойствами, перечисленными выше. Такой объект является реализацией Наблюдатель
интерфейс. Преимущество наблюдателя заключается в том, что нам не нужно предоставлять внедрение или хотя бы null
Зажигатель для обработчиков мы не заинтересованы.
Рассмотрим следующий пример …
В вышеупомянутом коде мы передаем объектный литерал, который содержит только полный обработчик, нормальные значения будут игнорироваться, и ошибки будут пускать стек.
И в этом примере мы передаем обработчик следующей ошибки и завершите его как прямые аргументы функции подписки. Все невыполненные обработчики должны быть переданы как нулевые или неопределенные, пока не доберемся до аргумента, в которой мы заинтересованы.
Как мы видим, встроенный аргумент стиль реализации A . Подписаться ()
Функциональный вызов недостаточно.
К сожалению, много раз мы можем столкнуться с внедрением, как следующие …
Пример выше содержит избыточные обработчики для обоих Следующий
и Ошибка
. обработчики, которые сделай точно ничего и мог быть заменен null
Отказ
“.Pipe ()” и операторы
Как начинающие используются для предоставления трех аргументов подписки, они часто пытаются реализовать аналогичный рисунок при использовании аналогичных операторов в цепочке труб.
RXJS операторы, которые часто путают с . Подписаться ()
обработчики, являются Caveroror
и доработать
Отказ Они оба также служат аналогичной цели – единственное различие в том, что они используются в контексте трубы вместо подписки.
Если мы хотели бы реагировать на полное событие каждой подписки наблюдаемого потока RXJS, мы могли бы реализовать доработать
Оператор как часть наблюдаемого потока самого.
Это приводит нас к окончательному и, возможно, самое проблемный шаблон, который мы можем столкнуться с тем, что при изучении различных основных баз: добавлено избыточные операторы при попытке следовать .subscribe () шаблон в контексте .pipe ().
Кроме того, мы могли бы встретить его еще более многословного двоюродного брата …
Обратите внимание, что мы продвинулись от оригинальной одной линии на полные девять строк кода, которые мы должны прочитать и понимать, когда мы хотим исправить ошибку или добавить новую функцию.
Рекапитурирование
-
. Подписаться ()
Метод принимает как объект наблюдателя, так и встроенные обработчики. - Объект наблюдателя представляет собой самый универсальный и краткий способ подписаться на наблюдаемый поток.
- Если мы хотим пойти с встроенными подпискими аргументами (
Next
,Ошибка
,Заполнение
) Мы можем предоставитьnull
вместо обработчика нам не нужно. - Мы должны убедиться, что мы не пытаемся повторить
. Подписаться ()
Узор при работе с.pipe ()
и операторы. - Всегда стремимся сохранить код максимально простым и удалить ненужные избытки!
Это оно! ✨.
Пожалуйста, поддержите это руководство с вашим ??? Использование кнопки HOLAP и помогите ему распространяться до более широкой аудитории? Кроме того, не стесняйтесь пингировать меня, если у вас есть какие-либо вопросы, используя ответы статьи или Twitter DMS @Tom Астраджан.
Если вы сделали это далеко, не стесняйтесь проверить некоторые из моих других статей о угловом и предпринимательском разработке программного обеспечения в целом …
? ️ ️ 7 советов, чтобы получить продуктивность с угловой CLI & Schematics? G ULAR Schematics – это инструмент для рабочего процесса для современного веб-сайта – Официальное представление ArticleHac kernoon.com Лучший способ отказаться от подписки RXJS, наблюдаемых в угловых приложениях! Есть много разных способов обработки подписок RXJS в угловых приложениях, и мы собираемся исследовать их … blog.angularindepth.com Общее руководство по инъекции зависимости угловых 6+ – указывает поставщики VS: []? Л ET учится, когда и как использовать новую лучшую угловую угловую 6+ впрысках механизма впрыска зависимостей с новым принесным синтаксисом для создания … M Edium.com Окончательный ответ на очень распространенный угловой вопрос: подписка () против | Асинхронная труба Большинство популярных угловых библиотек по управлению государством, такие как Ngrx выставляют состояние приложения в форме потока … blog.angularindepth.com.