1
1
有两种将任务转换为可观测的关键方法,它们之间有着重要的区别。
和
在您订阅任务之前,第一个任务不会启动。 第二个将创建(并启动)任务,根据任务的速度,结果将立即或稍后出现在可观察的中。 不过,从总体上看,你似乎想停下来。 呼叫流。 您不希望限制结果流,这将导致不必要的计算和损失。 如果这是您的目标,则可以将getProductAsync视为 观察者 对于调用事件,getProductAsync应该限制这些调用。实现这一目标的一种方法是
和使用
然后问题就变成了如何返回结果,以及当您的“呼叫者”呼叫被抑制和丢弃时应该发生什么。 其中一种方法是声明一个类型“getProductCall”,该类型将输入字符串和输出结果作为属性。 然后您可以进行如下设置:
(代码没有测试,只是说明性的) 另一种方法可能包括合并(n)重载,它限制了并发可观测数据的最大数量。 |
2
1
与你的问题无关,但可能有帮助:Rx
Rx.net的
如果你想要一些不同的东西,描述一下你想要如何节流。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |