gpt4 book ai didi

system.reactive - 要求对 Reactive Extensions (RX) 进行清晰、如画的解释?

转载 作者:行者123 更新时间:2023-12-03 21:01:53 24 4
gpt4 key购买 nike

很长一段时间以来,我一直试图将头围绕在 RX 上。而且,说实话,我永远不确定我是否得到了它——或者没有。

今天在http://reactive-extensions.github.com/RxJS/上找到了解释这 - 在我看来 - 太可怕了。它说:

RxJS is to events as promises are to async.



伟大的。这是一个充满复杂性的句子,如果您对RX的含义一无所知,那么在这句话之后,您就和以前一样愚蠢。

这基本上是我的问题:你在通常的地方找到的关于 RX 的所有解释都让(至少我)感到愚蠢。他们将 RX 解释为一个高度复杂的概念,其中包含许多高度复杂的单词和术语以及其他任何内容,我一直不太确定它是关于什么的。

所以我的问题是:你会如何向一个五岁的人解释 RX?我想要一个清晰、如画的解释它是什么,它有什么好处,它的主要概念是什么?

最佳答案

所以,LINQ(在 JavaScript 中,这些是高级数组方法,如 mapfilterreduce 等——如果你不是 C# 开发人员,只要我提到“LINQ”就替换它)给你一堆可以应用于序列(粗略意义上的“列表”)的工具,以便过滤输入并将其转换为输出(又名“我真正感兴趣的列表”)。但什么是列表?

什么是列表?

一个列表,就是一些 元素 ,特别是 订购 .我可以带任何列表并使用 LINQ 将其转换为更好的列表。

(不一定是排序顺序,而是一个顺序)。

事件是一个列表

但是事件呢?让我们订阅一个事件:

OnKeyUp += (o,e) => Console.WriteLine(e.Key)
>>> 'H'
>>> 'e'
>>> 'l'
>>> 'l'
>>> 'o'

嗯。看起来像 一些事情 , 在 特殊订单 .现在你突然明白了, 列表和事件是一回事!

如果列表和事件相同....

...那为什么我不能将输入事件转换和过滤成更有趣的事件。 这就是 Rx .它采用您所知道的关于处理序列的所有知识,包括所有 LINQ 运算符,如 Select、Where 和 Aggregate,并将它们应用于事件。

十分简单。

回调也是一个序列

回调不是基本上只发生一次的事件吗?它不是基本上就像一个带有一个项目的 List 吗?事实证明是的,关于 Rx 的一件有趣的事情是它让我们用相同的语言处理事件和回调(以及诸如地理定位请求之类的东西)(即我们可以将两者结合起来,或者等待以太之一或另一个,等等等等)。

关于system.reactive - 要求对 Reactive Extensions (RX) 进行清晰、如画的解释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15033809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com