обновить статическое слияние Rxjs, наблюдаемое до синтаксиса версии 6 - PullRequest
0 голосов
/ 12 октября 2018

Как обновить старый синтаксис Observable.merge () в rxjs 6 + ?Старый синтаксис выглядит следующим образом: Observable.merge(...array).map(() => {}); Какой должен быть правильный синтаксис с использованием rxjs 6 ?

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Добавление к ответу martin :

Начиная с Rxjs 6, вы не можете напрямую связывать своих операторов, например map, со значением Observable.

Вам придется pipe всех ваших операторов через значение Observable.

Все, что используется для создания Observable, например of, merge и т. Д., Должно быть импортировано.от 'rxjs'

Каждый оператор, который вы будете использовать, будет передаваться через оператор pipe и будет импортирован из 'rxjs/operators'


То есть в Rxjs5 или предыдущий:

import { Observable } from 'rxjs';

Observable.merge(...array).map(() => {});

В Rxjs6 превратится в:

import { merge } from 'rxjs';
import { map, ... } from 'rxjs/operators';

merge(...array).pipe(
  map(...),
  ...
);

ОБНОВЛЕНИЕ:

merge возвращаетObservable<T> Так что, если вы хотите вернуть Observable<CustomType[]>, просто укажите это при использовании merge, например:

merge<CustomType[]>(...array).pipe(
  map(...),
  ...
);
0 голосов
/ 12 октября 2018
import { merge } from 'rxjs';

merge(...array)
  .pipe(
    map(() => {}),
  )

Если имя merge сталкивается с оператором merge, вы можете переименовать его:

import { merge as staticMerge } from 'rxjs';
...