javascript - rxjs 示例运算符问题
问题描述
我目前正在学习 rxjs 并发现示例运算符不是我想要的。这是我的示例代码。
const source = rxjs.interval(500);
rxjs.interval(300)
.pipe(
rxjs.operators.sample(source)
)
.pipe(
rxjs.operators.take(20)
)
.subscribe(val => console.log(val));
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.6.3/rxjs.umd.min.js"></script>
当代码运行时,得到的结果是
0 2 4 5 7 ...
但是,我希望结果是
0 1 3 5 ...
根据下图推理。
那么有人可以向我解释一下示例运算符的工作原理以及为什么下面的测试用例会返回0 2 4 5 7 ...
吗?
谢谢。
解决方案
问题是第一个(#0)间隔在设定的时间段后发出。它不会在订阅时发出 0 值。
因此,您提供的图像可以正常工作,只是应该跳过第一次发射:
time: 0. 300ms. 600ms. 900ms. 1200ms. 1500ms
300ms interval #0 #1 #2 #3. #4
500ms sample #0 #2 #4
一个对时间有更多感觉的例子:https ://jsfiddle.net/8t4r3ev0/33/
推荐阅读
- javascript - 带有自动播放 Chrome 的 iFrame 技巧不起作用
- reactjs - 已经创建了一个反应应用程序(使用 npx create-react-app),它在刷新时会崩溃
- python - Python异步等待与定时循环
- c# - 如何统一 SetActive() Prefabbed Canvas 子按钮/文本?
- javascript - 导航到另一个页面并基于选定的导航链接打开特定的导航丸选项卡
- r - 为什么梯度下降几乎每次都会爆炸?
- kubernetes - 如何配置 Spring Cloud Data Flow 以在每个任务的单独命名空间中执行任务?
- django - TypeError:包含代理模型“TokenProxy”不允许的模型字段的抽象基类。尝试在 Django 中进行迁移时
- javascript - 根据 React 组件中的键/值字典映射所有链接
- node.js - Discord Bot 随机回复