react native扩展的好例子使用
我了解Rx的基础知识。 我正在挣扎的是如何实际使用这个超越学术的例子? 什么是一些常见的,简单的现实世界的场景,其中Rx比我们今天在.NET中有更好的解决scheme?
对于一些很好的例子,请看101 Rx Samples wiki
Rx允许你编写并发事件的代码。 如果你曾经使用TPL(即任务),那么必须做错误的后空翻,以尝试ContinueWith或WaitAll在正确的事情,Rx是给你的。
例如,“对于这个数组中的每个项目,调用一个Web服务,当所有这些请求都返回时,做一些其他的事情,如果其中任何一个都失败了,那么整个事情都会失败”。
披露,无耻的插件: Jesse Liberty和我写的关于Rx的书是为了解决这个问题而devise的,“我如何在日常工作中使用Rx? “我能用这个做什么?”
首先,IObservable 是一个事件 。 所以,在任何你使用内部事件的地方,你都可以使用IObservable–如果你以后需要将LINQ应用到这个事件中,你就可以在不重构的情况下做到这一点。
其次,当你需要同步运行代码时,RX适合于任何情况。 例如,调用Web服务或加载大图像。
但是当它真正开始发光的时候 – 如果你的程序达到了IObservable使用的一些“临界质量”,并且你开始结合不同的可观察性,你会惊讶地发现一些任务变得容易 。
- 设备测量
- 数据通过消息总线进入
在这两种情况下,接收数据的标准方式是通过事件,但是如果我想要查询语法或者组合,那么RX会在事件没有的情况下给我。
Rx非常通用,所以它具有无限的实用性,就像IEnumerable / IEnumerator具有无限的实用性。 IE拉值,IO推值。
foreach是IEnumerables派上用场的一个具体例子,但是这并不能解释IEnumerable或yield或什么。 Rx也一样。
能够从拉视angular度或推视angular来看问题,并能够控制方向或手段,是非常强大的,因为现在你可以随意推拉计算,使用LINQ查询运营商为“免费”,针对IO,因为它是IE的math对偶。
我刚刚看了Rx,但是我将使用一个有趣的项目来创build一个Silverlight小部件,它显示ASP.NET MVC Web应用程序中的活动(哪些操作方法是由哪个用户调用的) 。 看来Rx可以帮助这个项目中的很多东西,比如并发pipe理和节stream。