自定义操做RxJava 学习笔记<二十三>

二十三,有点让我想起《风云》里面的剑二十三式ios

RxJava提供了一套很是强大的操做集。若是计算全部重载次数,Rx上的运算符数量超过300。其中少数运算符必不可少,这意味着没有它们就没法实现Rx实现。许多只是为了方便和自我描述的名称。例如,若是source.First(user  - > user.isOnline())不存在,咱们仍然能够执行source.filter(user  - > user.isOnline()).First()。git

尽管有许多便利操做,但RxJava的操做集仍然很是基础。Rx提供了能够组合成任何东西的构建块,但最终你须要为重复的案例定义可重用的代码。在标准Java中,这将使用自定义类和方法完成。在Rx中,您但愿可以设计自定义运算符。例如,从您的财务应用程序中计算一系列数字的运行平均值可能很是常见。在Observable中不存在,但您能够本身建立: github

这样作,但它不可重复使用。在真实的金融应用程序中,您可能但愿对许多不一样的序列进行相同类型的处理。即便你不这样作,将全部这些代码隐藏在一个短语后面仍然是很好的:“运行平均值”。能够理解的是,Java开发人员的第一直觉就是用它来建立一个函数:函数

你能够轻松使用它:设计

输出;blog

上面的例子看起来很好,由于它很简单。让咱们的定制操做作一些更复杂的事情。让咱们用一个短语,把它变成一个长序列并计算出它的运行平均值。开发

再次,这是有效的,但它看起来不是100%Rx。想象一下,若是Rx中的全部内容都像咱们设计的方法(包括全部现有的运算符)那样完成。it

咱们正在反向阅读咱们的管道!哎呀!io

下节再续!ast

原文:https://github.com/Froussios/Intro-To-RxJava/blob/master/Part%203%20-%20Taming%20the%20sequence/7.%20Custom%20operators.md

有什么讨论的内容,能够加我公众号:

相关文章
相关标签/搜索