我有 2 个 observables,我想实现以下目标:
从 Observable1 获取一个值,然后忽略 Observable1 并只等待来自 Observable2 的值然后相同,再次从 Observable1 获取一个值,依此类推。
有没有办法在 rxjs 中实现这一点?行动决策树没有用。我也玩过 switchMap()
但这只能做第一部分
最佳答案
似乎有很多方法可以解决这个问题。这是另一个 expand .
import { interval } from 'rxjs';
import { expand, mapTo, take } from 'rxjs/operators';
const left = interval(1000).pipe(mapTo('left'));
const right = interval(5000).pipe(mapTo('right'));
const example = left.pipe(
take(1),
expand(x => (x === 'left' ? right : left).pipe(take(1)))
);
const subscribe = example.subscribe(val => console.log(val));
如果有人有办法用 buffer*
之一做到这一点,我会很感兴趣。运营商
关于typescript - rxjs 多个可观察开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67831376/