我想用一个 observable 执行一些操作,比如将 20 添加到其属性之一
const mainObservable = of({id:1, count: 20});
const example = mainObservable.pipe(
map(val=> { val.count+20; return val;})
);
然后我需要检查其他 observable 的条件,如果它是真的,然后执行进一步的操作,比如将 40 添加到第一个 observable 的属性之一
组合代码:
const mainObservable = of({id:1, count: 20});
const otherObservable = of([10,20]);
const example = mainObservable.pipe(
map(val=> { val.count+20; return val;}),
switchMap(outerVal => otherObservable.pipe(map(val=>{
console.log(outerVal);
return val.length > 0;
}))),
// map(val=> {val.count+ 40, return val})
);
在这里,如果 otherObservable 的条件为真,那么我需要将 40 添加到 count 中,最后在订阅中我应该得到第一个 observable 的实际对象。
有人可以帮我解释一下吗?应引入注释代码以实现要求,以便
示例 observable 应该从第一个 observable 发出对象