可观察以及如何控制结果速度

2023-12-28

我正在寻找一个运算符来帮助我调整可观察值发出的结果,它看起来像这样:

[--A-BC--D-E----------------]
[--A----B----C----D----E----]

我尝试了 AuditTime() 但它不会重播间隔之间发出的结果,它会执行以下操作:

[--A-BC--D-E----------------]
[--A----C----E--------------]

感谢您的帮助。


我认为这应该可以满足您的需要:

const e1 =  cold('--A-BC--D-E----------------|');
const expected = '--A----B----C----D----E----|';

const source = e1.pipe(
  concatMap(val => of(false).pipe(
    delay(5, scheduler),
    takeWhile(Boolean),
    startWith(val),
  )),
);

expectObservable(source).toBe(expected);

这里的技巧是我正在使用concatMap始终等到前一个 Observable 完成。内部 Observable 发出值,然后推迟其自身的完成,从而concatMap强制两次发射之间的延迟。

观看现场演示:https://stackblitz.com/edit/rxjs6-test-scheduler?file=index.ts https://stackblitz.com/edit/rxjs6-test-scheduler?file=index.ts

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可观察以及如何控制结果速度 的相关文章

  • 从打字稿和 Angular 中的 Observable 获取字符串值

    我想从 Observable 获取字符串值并将该值从函数返回给调用者函数 例如 我有一组键 想一一获取所有键的值 字符串 并将其显示在具有菜单栏的 html 组件中 这是 ts 文件 key list component ts public
  • 如何延迟forkJoin

    你会怎样拖延 forkJoin 在 rxjs 中 这是我已经拥有但想使用的delay https www learnrxjs io operators utility delay html运营商用那个 return forkJoin thi
  • 比较 Observable 的前一个值与 Angular 中的下一个值

    我一直在开发一个应用程序 它允许几个不同的组件更新BehaviorSubject在角度 在每个组件中 我存储前一个组件的本地副本BehaviorSubject价值 为了知道组件是否生成了被推出的新值 我计划使用 LoDash 来比较两个对象
  • 从后台线程更新可观察列表的正确方法

    我正在尝试遵循 MVC 进行测试项目 因此我的模型应该完全独立于我的观点 但是我不确定应该如何更新在后台线程中更新的可观察列表 正在给出有关上传的字符串 文件 以便消息显示在 UI 上的 ListView 中 我正在使用 JavaFX 并尝
  • RxJS - 从可观察对象中获取最后 n 个元素

    我想从可观察对象中获取最后 3 个元素 假设我的时间线是这样的 a b c d e f g h i j gt where a b c d e f g h i j are emitted values 每当发出新值时 我想立即获取它 因此它可
  • rxjs 7 更新 - 主题 - 预期 1 个参数,但得到 0 个

    我将 rxjs 从版本 6 x x 更新到 7 x x 但出现以下错误 src app app component ts 中出现错误 12 19 预期有 1 个参数 但得到 0 个 当试图next一个空值Subject destroy ne
  • RxJS - 我需要取消订阅吗

    如果我有这样的事情 class MyComponent constructor this interval Observbale interval 1000 const c new MyComponent const subscriptio
  • 避免在 Angular 2+ 中嵌套订阅?

    我有2个端点 1 个端点来获取当前用户的日志 1 个端点来获取该用户的授权 实际上我使用 this user subscribe e gt this grants get e subscribe x gt console log x 但这是
  • 类型“boolean”不可分配给类型“Observable

    我有那个代码 method Observable
  • Ionic 2 http.get() 问题

    我试着做一个http get 用这两个方法调用 First getResults return this http get http localhost api php toPromise then data gt data json 显示
  • ReactiveX:仅对每组中的最后一项进行分组和缓冲

    如何对 Observable 进行分组 并从每个 GroupedObservable 中仅将最后发出的项保留在内存中 这样每个组的行为就像BehaviorSubject 一样 像这样的东西 user 1 msg Anyone here us
  • 收到错误 ../node_modules/rxjs/Rx"' 没有导出成员 'of'

    我正在从教程中学习新的角度 https angular io tutorial toh pt4 inject message service https angular io tutorial toh pt4 inject message
  • 在为 RXJS 可观察量编写测试时,如何避免让调度程序通过我的业务逻辑?

    我发现使某些测试通过的唯一方法是显式地将调度程序传递给函数 为了便于说明 请考虑以下函数 function doStuff stream return stream delay 100 filter x gt x 2 0 map x gt
  • 使用 RxJava 限制吞吐量

    我现在遇到的情况很难解释 所以我会写一个更简单的版本来解释这个问题 我有一个Observable from 它发出一系列由ArrayList文件数量 所有这些文件都应上传到服务器 为此 我有一个函数可以完成这项工作并返回一个Observab
  • 可从数组观察

    我目前对 Angular2 和 Observable 对象有疑问 我有一个调用服务的组件 一个链接到 api 的真实组件和一个假组件 链接到 API 的服务运行良好 但当我使用假的服务时 我想从 Observable 对象返回一个数组 但出
  • 用玩笑测试 Observables

    如何使用 Jest 测试 Observables 我有一个每秒触发一次的 Observable 我想在玩笑超时之前测试第一个事件是否正确触发 const myObservable timer 0 1000 Example here it s
  • 使用 rxjs 将数据添加到 http 响应

    我有一个包含司机 ID 的旅行实体 我可以使用 RESTFull 端点获取获取行程 例如 trips 2 example response id 2 driver id 123 我可以使用端点获取驱动程序详细信息 例如 drivers 12
  • 解析器中的链相关可观察量

    我有一个解析器 需要在加载页面之前从两个依赖的 API 获取数据 第二个调用是由第一个调用的结果定义的 因此我尝试链接两个可观察量 并且需要在解析器末尾返回第二个可观察量 在我尝试链接可观察量之前 我有 resolve route Acti
  • 使用许多嵌套的 switchMap 是不好的做法吗?

    我有 HTTP 拦截器 在该拦截器中 在更改请求之前 我需要打开一个加载程序 真正让我担心的是我最终会得到很多switchMaps why 加载器是异步的 我还需要将从拦截器传递的消息转换为加载器服务 翻译消息也是异步的 在拦截器中 我应该
  • 使用 HttpClient 而不是 Http,类型“Subscription”不可分配给类型“Observable”Angular 5

    我正在尝试使用新的 HttpClient 类而不是旧的 Http 我想映射从订阅方法获得的数据 但出现以下错误 关于为什么我得到这个有什么建议吗 Code export class YoutubeSearchService construc

随机推荐

  • c++ 中 if(pointer) 与 if(pointer != NULL) 之间的区别,cpplint 问题

    我已经检查过这个帖子了我可以使用 if pointer 代替 if pointer NULL 吗 https stackoverflow com questions 17772103 can i use if pointer instead
  • 如何将 yii2 表单错误放在锚标记的标题中

    如何将 yii2 表单错误放在锚标记的标题中 这是我的代码 form ActiveForm begin id gt login form options gt class gt form horizontal fieldConfig gt
  • Android 上的 Google Drive 错误:java.lang.IllegalArgumentException:名称不能为空:null

    我在 Google Drive Android 应用程序上遇到了 java lang IllegalArgumentException 名称不能为空 null 异常 我已经谷歌搜索好几天了 没有任何线索 这是我的代码 一个简单的例子 用于获
  • standard_init_linux.go:211: exec 用户进程导致“exec 格式错误”

    我正在为 python 脚本构建 Dockerfile 它将在 minikube windows 10 系统中运行 下面是我的 Dockerfile 使用以下命令构建 dockerdocker build t python hellowor
  • 如何访问 Ruby 模块方法

    我有一个用于常量的 Ruby 模块 它有一个变量列表和一种应用格式化的方法 我似乎无法访问该模块中的方法 知道为什么吗 If you include该模块的方法成为实例方法但如果你extend该模块然后它变成类方法 module Const
  • 在几秒钟而不是几小时内旋转数百个 JPEG

    我们的计算机一次获取数百张图像 我们需要尽快旋转它们并调整它们的大小 旋转可旋转 90 度 180 度或 270 度 目前我们使用的是命令行工具图形魔术师 http www graphicsmagick org 旋转图像 旋转图像 5760
  • WooCommerce 在成功结账时对每个产品执行 PHP

    仅当在 WooCommerce 中成功结帐时 我才需要为购买的每个产品 基于 ID 执行一些 PHP 有谁知道这是否可能 如果可以的话 你能给我指出正确的方向吗 Thanks 你可以运行一个函数woocommerce payment com
  • WinDbg !heap 命令由于缺少符号而无法工作

    我正在尝试使用 WinDbg 调试带有 C 非托管内存分配的 NET 应用程序 当我尝试运行 heap命令 我收到以下错误消息 0 022 gt heap ERROR Symbol file could not be found Defau
  • Graphviz:更改子图簇内的节点间距

    经验丰富但不是 Graphviz 专家 我分享的示例代码和图像是更大图表的一部分 我将其拉出来以使问题和示例更清晰 该图是按等级分开的并且从左到右流动 在图像示例中 您可以看到三个等级和节点空间很好 但我想在子图中收紧它们 我已经尝试了六种
  • 如何实现对2个不同表数据的搜索?

    使用 mysql 和 PHP 我已经在使用 MATCH AGAINST 子句了 它在单独的表上运行良好 就像我想在商店表中搜索一样 没问题 我想要的是能够在单个结果页面中搜索和显示不同表的结果 例如 如果我输入 巧克力衣服 我可能会得到4个
  • 在 C++ 或 Qt 中格式化 XML 文件

    我有一个 XML 文件 其中输出未格式化 这意味着所有输出都在一行中 但我想逐个标签地打破它 例如
  • all.moments 功能奇怪的结果

    我想计算分布的 n 阶矩 我正在尝试使用 R 中库 moments 的 all moments 函数 我已经以这种方式测试了 all moments library moments r lt rnorm 10000 rr lt all mo
  • 移动网络应用程序可以在后台运行吗? (iOS 和安卓)

    移动网络应用程序可以在后台运行吗 我主要对 iOS 和 Android 感兴趣 Thanks 由于这种情况几乎每天都在变化 因此我将发布更新的答案 这适用于这些浏览器的最新版本 但明天可能会发生变化 My 音乐应用程序 http thedi
  • .NET 中是否有多核排序实现?

    NET 中是否有多核排序实现 这是我不久前使用的多线程快速排序async await 在一定的排序大小下 它 恢复 回称为双端选择排序的基本排序 public static class SortExtensions
  • 一起使用@Spy和@Autowired

    我有一个带有 3 个方法的服务类 服务类还使用一些 Autowired 注释 在 3 种方法中 我想模拟两种方法 但对第三种方法使用真实方法 问题是 如果我将 Autowired 与 Spy 一起使用 则将调用所有三个实际方法实现 如果我仅
  • IIS应用程序池PID

    有谁熟悉获取与进程 ID 关联的应用程序池的方法吗 我正在使用 Win32 Process 查询 W3WP 服务并返回 PID 现在我正在尝试获取与其关联的应用程序池 在 Windows Server 2008 上 情况发生了变化 in s
  • 设置按钮助记键事件,无需使用 ALT

    Is there a way to set a button key event in Java so that Alt does not have to be pressed For example when this is used s
  • 如何在不使用 Visual Studio 的情况下编辑 RDLC 报告

    我现在正在研究Sql Server Management Studio和 Visual Studio C 我创建了一个Stored Procedure从数据库中的表中检索数据 使用结果dataset 我创建了一个rdlc使用 Visual
  • python中的复杂if语句

    我需要实现一个complexPython 中的 if elif else 语句 但我无法让它工作 我需要的 elif 行必须检查变量是否满足此条件 80 443 或 1024 65535 含 I tried if several check
  • 可观察以及如何控制结果速度

    我正在寻找一个运算符来帮助我调整可观察值发出的结果 它看起来像这样 A BC D E A B C D E 我尝试了 AuditTime 但它不会重播间隔之间发出的结果 它会执行以下操作 A BC D E A C E 感谢您的帮助 我认为这应