如何在 rxjs 6 + 中更新 Observable.merge()的旧语法?
旧语法如下所示:
Observable.merge(...array).map(() => {});
使用 rxjs 6 的正确语法应该是什么?
答案 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
值上链接运算符。
您必须通过Observable
值pipe
来所有运算符。
用于创建Observable
,Observable
等的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