通过实现Observable学习Rx

从我的角度来看,如果您是软件开发人员,则有几种学习新技术的方法:

  • 阅读有关它
  • 玩吧
  • 破解或实施类似的东西

网上有很多例子说明了前两个例子,但很少有例子说明如何实现Rx。

因此,让我们看一下Rx核心原语的接口:

可观察的:

根据Observable的文档界面非常简单:

好吧,这很酷! 但是Rx的强大功能也在运算符中……因此,让我们实现map运算符:

与Rx中数组映射的映射相同,通过应用transform函数来transform序列的每个元素并返回新序列

回顾一下:

Observable —是一种类型,您可以在其中通过调用subscription()传递一个Observer (基本上是一个回调)。 如您所见,所有魔术都发生在订阅方法中。 这就是使Rx如此强大的原因,您可以转换序列并传递Observable实例,而不必担心会发生什么事情

结论:

确保这是天真的,还没有准备好进行生产。 但是我真的希望它表明Rx背后没有魔力!

这里有游乐场

从这往哪儿走:

  • RxSwift回购
  • ReactiveX网站
  • 雷·温德利奇团队的RxSwift书
  • Rx背后的数学