![]() |
1
1
有两种将任务转换为可观测的关键方法,它们之间有着重要的区别。
和
在您订阅任务之前,第一个任务不会启动。 第二个将创建(并启动)任务,根据任务的速度,结果将立即或稍后出现在可观察的中。 不过,从总体上看,你似乎想停下来。 呼叫流。 您不希望限制结果流,这将导致不必要的计算和损失。 如果这是您的目标,则可以将getProductAsync视为 观察者 对于调用事件,getProductAsync应该限制这些调用。实现这一目标的一种方法是
和使用
然后问题就变成了如何返回结果,以及当您的“呼叫者”呼叫被抑制和丢弃时应该发生什么。 其中一种方法是声明一个类型“getProductCall”,该类型将输入字符串和输出结果作为属性。 然后您可以进行如下设置:
(代码没有测试,只是说明性的) 另一种方法可能包括合并(n)重载,它限制了并发可观测数据的最大数量。 |
![]() |
2
1
与你的问题无关,但可能有帮助:Rx
Rx.net的
如果你想要一些不同的东西,描述一下你想要如何节流。 |
![]() |
Nicolas · c#/中多个Rx受试者的依赖注入。净核心 7 年前 |
![]() |
user584018 · 如何获取文件的增量内容 7 年前 |
![]() |
SuperJMN · 如何计算LINQ管道要完成的ETA? 7 年前 |
![]() |
Seishin Okigaru · RXSwift,检测到重入异常 7 年前 |
![]() |
marsop · 在typescript中观察集合 7 年前 |