更新Rxjs静态合并可观察到版本6语法

时间:2018-10-12 08:36:46

标签: angular rxjs observable reactive-programming rxjs6

如何在 rxjs 6 + 中更新 Observable.merge()的旧语法? 旧语法如下所示: Observable.merge(...array).map(() => {}); 使用 rxjs 6 的正确语法应该是什么?

2 个答案:

答案 0 :(得分:2)

import { merge } from 'rxjs';

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

如果merge名称与merge运算符冲突,则可以重命名:

import { merge as staticMerge } from 'rxjs';

答案 1 :(得分:1)

添加到martin的答案:

自Rxjs 6起,您无法像clear input str6 (name commodity) amount Alex apple 5 Ben orange 10 Chris apple 25 Alex orange 10 Alex apple 10 Chris orange 10 Ben apple 5 Chris orange 10 end collapse (sum) amount, by(name commodity) list, sepby(name) +---------------------------+ | name commod~y amount | |---------------------------| 1. | Alex apple 15 | 2. | Alex orange 10 | |---------------------------| 3. | Ben apple 5 | 4. | Ben orange 10 | |---------------------------| 5. | Chris apple 25 | 6. | Chris orange 20 | +---------------------------+ reshape wide amount, i(name) j(commodity) string list +-----------------------------+ | name amoun~le amoun~ge | |-----------------------------| 1. | Alex 15 10 | 2. | Ben 5 10 | 3. | Chris 25 20 | +-----------------------------+ 那样直接在map值上链接运算符。

您必须通过Observablepipe来所有运算符。

用于创建ObservableObservable等的of的所有内容都需要从merge导入

您将使用的每个运算符都将通过'rxjs'运算符进行管道传输,并将从pipe导入


因此在Rxjs 5或更低版本中:

'rxjs/operators'

在Rxjs6中将变为:

import { Observable } from 'rxjs';

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

更新:

import { merge } from 'rxjs'; import { map, ... } from 'rxjs/operators'; merge(...array).pipe( map(...), ... ); 返回一个merge,因此,如果您想返回Observable<T>,只需在使用Observable<CustomType[]>时指定,就像这样:

merge