RxJS-仅在特定的空闲延迟后发出

RxJS-仅在特定的空闲延迟后发出,rxjs,rxjs5,Rxjs,Rxjs5,我有一个表单,用户可以在文本区域中输入降价格式的文本。我想在字段旁边显示解析标记的准实时预览 与StackOverflow问题表单完全相同。;-) textarea的值是通过一个RxJS可观察对象发出的,但我不想为每个新值刷新预览。相反,我只想在用户停止输入500毫秒后刷新预览 这里是一个暂定的图表(第一行是用户键入时textarea发出的原始值,第二行是我想要获得的;只有在特定延迟(无发射)经过后才会发出值。): 实现这一点的语法是什么?您可以使用 您还可以将其与distinctUntilCh

我有一个表单,用户可以在文本区域中输入降价格式的文本。我想在字段旁边显示解析标记的准实时预览

与StackOverflow问题表单完全相同。;-)

textarea的值是通过一个RxJS可观察对象发出的,但我不想为每个新值刷新预览。相反,我只想在用户停止输入500毫秒后刷新预览

这里是一个暂定的图表(第一行是用户键入时textarea发出的原始值,第二行是我想要获得的;只有在特定延迟(无发射)经过后才会发出值。):

实现这一点的语法是什么?

您可以使用


您还可以将其与
distinctUntilChanged()
链接,以避免在用户添加两个字符并删除它们时重新计算HTML

我建议您在UX方面使用auditTime

如果用户连续键入,然后使用去BounceTime,则在暂停之前不会生成准预览

但是,在审核时间中,只要存在类型事件,就会为每个时间间隔生成准预览

我相信,auditTime提供了更好的用户体验

auditTime和debounceTime都将在 事件发生了。两者都将等待给定的时间量,然后才能开始 发出一个事件。不同之处在于,debounceTime会重置计时器 每当有新事件发生而auditTime未发生时。时间会 在给定的毫秒数之后发出最近的事件 是否仍在接收事件。去BounceTime将等待 在比赛中有差距。你说你读了文档,但只是 仔细检查一下,我发现这份文件特别有用

一些我觉得有用的参考资料


JB。。。可能就这么简单吗?:)它可以。您还可以使用distinctUntilChanged()链接它,以避免在用户添加两个字符并删除它们时重新计算HTML。谢谢。我问这个问题觉得很傻。我阅读了一系列教程,其中向您展示了如何使用
debounceTime()
运算符使用RxJS构建自动完成字段,现在我要问这个问题。。。我把它放在这里以备将来参考。如果您愿意发布答案,我会将其标记为已回答。这有时会发生在我们所有人身上。
t---t--ttt------tt-ttt------t---|
----------------t-----------t---|