|
|
1
1
有两种将任务转换为可观测的关键方法,它们之间有着重要的区别。
和
在您订阅任务之前,第一个任务不会启动。 第二个将创建(并启动)任务,根据任务的速度,结果将立即或稍后出现在可观察的中。 不过,从总体上看,你似乎想停下来。 呼叫流。 您不希望限制结果流,这将导致不必要的计算和损失。 如果这是您的目标,则可以将getProductAsync视为 观察者 对于调用事件,getProductAsync应该限制这些调用。实现这一目标的一种方法是
和使用
然后问题就变成了如何返回结果,以及当您的“呼叫者”呼叫被抑制和丢弃时应该发生什么。 其中一种方法是声明一个类型“getProductCall”,该类型将输入字符串和输出结果作为属性。 然后您可以进行如下设置:
(代码没有测试,只是说明性的) 另一种方法可能包括合并(n)重载,它限制了并发可观测数据的最大数量。 |
|
|
2
1
与你的问题无关,但可能有帮助:Rx
Rx.net的
如果你想要一些不同的东西,描述一下你想要如何节流。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |