Должен ли я использовать оператор трубы, если я использую только один оператор? - PullRequest
0 голосов
/ 05 февраля 2019

RxJs в версии 5.5 введен оператор канала, чтобы упростить объединение операторов RxJs и повысить эффективность встряхивания дерева в этих ситуациях.Мой вопрос: стоит ли использовать оператор канала, если вы собираетесь использовать только один оператор?

Рассмотрим следующие примеры:

someObservable.map(mappingLogicMethod).subscribe(x => console.log(x));

vs

someObservable.pipe(map(mappingLogicMethod)).subscribe(x => console.log(x));

Inв таких ситуациях, когда вы используете только один оператор, что является наиболее подходящим подходом?

1 Ответ

0 голосов
/ 06 февраля 2019

Краткий ответ: «Вы можете, но не должны» , поскольку оператор pipe не является обязательным до версии 6.0, как упомянуто martin в комментариях (поэтому версия <6 не обязательна), и если вы включите <code>rxjs-compact, вы можете использовать старый способ объединения операторов (так что вы можете фактически использовать старый способ везде, вплоть до последняя 6. версия ).

Давайте немного окунемся в часть: «Почему вы не должны ее использовать »

Начиная с версии 5.5оператор канала доступен (но не обязателен ) для использования и обычно предпочтителен, потому что (тогда) мы все знали, что в следующих версиях все операторы будет завернутым в pipe, так что вы можете думать об этом периоде 5.5 <= 6 как о окне миграции, по-новому.</p>

Хотя сейчас у нас версия 6+ и использование pipe является поведением по умолчанию, rxjs по-прежнему поддерживает старую цепочку (нет pipe), пока вы также устанавливаетеrxjs-compat.

Итак, ответ таков: если вы используете rxjs 5.5+, хотите ли вы использовать встряхивание деревьев и писать читаемый код по новому стандарту (как упомянуто Картантом в комментариях)?

«Вы всегда должны использовать трубу» .

...