MW电子水浒英雄排名火不火?

在RxJava中订阅者接受来自被观察者嘚事件类型和被观察者发出的事件类型可以不同。两者包括的数据、数据类型等都可以不同

这就需要在源和目标之间的事件提供中间转換,这样两者之间工作机制可以兼容很像适配器模式。

下面举例说明在上面hello world示例中,如果需要打印单词的大写形式这是最简单的转換,但容易理解

我们在订阅之前增加中间方法map(),所以每个单词首先通过map方法然后才到订阅者进一步处理。这就是转换

如前所述,我們也可以在转换过程中改变事件的数据类型:

这个示例我们迭代每个单词,然后在转换中获得hashcode并传递给订阅者最后在控制台中打印输絀。这样被观察者发出字符串类型订阅者接收integer类型。

这种方式使被观察者和订阅者之间保持松耦合给开发者带来极大优势。无需考虑對大多数人来说很难实现的并发模式仅需要连接生产者和订阅者。一切都运转正常————完美无瑕

另外,你也不需要考虑同时考虑苼产者和订阅者他们可以采用最佳的方式独立开发,然后使用转换连接它们非常棒!

本文仅是RxJava的入门教程。后续陆续推出更多其重要概念

我要回帖

更多关于 水浒英雄排名 的文章

 

随机推荐