【发布时间】:2022-09-23 01:25:25
【问题描述】:
我有两个需要转换为相同类型的具有两个不同对象的列表,只有当“first”列表为空时才会使用“second”列表,我尝试使用方法@987654321 @ 但它永远不会返回第二个选项。
const first = []; // could be [{code: 1}, {code: 2}]
const second = [{id: 1}, {id: 2}]
of(first).pipe(
map((value) => {number: value.code})
).pipe(
defaultIfEmpty(of(second).pipe(map((value) => {number: value.id})))
).subscribe(doSomething);
所需的输出是:
[{number: 1}, {number: 2}]
在上面的例子中,来自defaultIfEmpty 的map 永远不会被调用;
- 如果给定源为空,我如何“切换”到另一个方法源?
- 是在
map完成后调用subscribe方法,还是为map上的每个项目调用它?
标签: rxjs