typescript - rxjs 多个可观察开关

标签 typescript rxjs

我有 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/

相关文章:

angular - rxjs 和 WebStorm

Angular2 Observable - 如何包装第三方 ajax 调用

typescript - d.ts 声明模块在导入第三方库时不起作用

javascript - 与 RxJS 流冲突的条件语句

angular - Highcharts,属性 'series' 类型不兼容

typescript - 从返回类型推断出窄字符串文字类型

angular - 如何防止在 Angular 中双击?

javascript - Angular2 Observable 不是由异步管道触发的

typescript - 从 typescript 类型定义文件导出枚举

angular - 如何通过单击 Angular 7 中的按钮加载组件