ReactiveCommand.CreateFromTask vs ReactiveCommand.CreateFrom



我已经看到了使用可观察到的讨论,而不是使用异步/等待的任务进行了一些讨论。我目前几乎只使用CreateFromTask。我一直在尝试了解使用CreateFromObservable而不是CreateFromTask背后的推理。

,如果是这样,将CreateFromTask转换为createFromObservable的最佳方法是什么。

createFromTask实际上只有作为助手,因为我们生活在一个基于任务的世界中:-)在一个完美的反应性世界中,您使用的所有库都只能暴露出可观察到的物品。然后,您可以端到头可观察到。但是,看到这种情况如何,RXUI包含一些帮助者,可以轻松将任务拉入命令中。

如果您在这里看https://github.com/reactiveui/reactiveui/issues/1245

您会看到甚至还有一个讨论可以摆脱这些帮助者。

如果您查看了" createFromTask"的代码

https://github.com/reactiveui/reactiveui/blob/develop/src/reactiveui/reactivecommand.cs#l418

因此,对于这个问题,我只会说在任务上呼唤tobservable是转换它的最佳方法。您需要使用语句

包含此信息
using System.Reactive.Threading.Tasks

我通常要做的只是将所有基于任务的库与外墙包装,然后使用Tooberverable将其暴露。如果您要使用反应性解决方案,它将使生活更容易在与混合和匹配的观察力的土地上工作。

createFromobserable在createFromTask上的推理是,库假定您的解决方案主要是反应性的,因此这将是它将期望事物的主要方式。创建这些命令的所有其他方法实际上只是帮助者,最终可以在那里创建Fromobservable

最新更新