官术网_书友最值得收藏!

The ReactiveEvenOdd program

So, now that we are somewhat familiar with observables, let's modify the even-odd program in a reactive way. Here is the code for doing so:

    fun main(args: Array<String>) { 
      var subject:Subject<Int> = PublishSubject.create() 
 
      subject.map({ isEven(it) }).subscribe({println
("The number is ${(if (it) "Even" else "Odd")}" )}) subject.onNext(4) subject.onNext(9) }

Here is the output:

In this program, we have used subject and map, which we will cover in the later chapters. Here, it is just to show how easy it is in reactive programming to notify the changes. If you look at the program closely, then you'll also find that the code is modular and functional. When we notify subject with a number, it calls the method in map, then it calls the method in subscribe with the return value of the map method. The map method checks if the number is even and returns true or false accordingly; in the subscribe method, we are receiving that value and printing even or odd accordingly. The subject.onNext method is the way through which we message the new value to the subject, so it can process it.

主站蜘蛛池模板: 海晏县| 金坛市| 沧州市| 通海县| 蒲江县| 当阳市| 无棣县| 南京市| 保靖县| 乐山市| 大足县| 电白县| 交城县| 黄大仙区| 汾阳市| 梧州市| 乌拉特后旗| 徐汇区| 旬邑县| 滨海县| 洛浦县| 五莲县| 乌拉特中旗| 铜陵市| 高雄县| 巨野县| 蒙山县| 新龙县| 新乐市| 德州市| 安化县| 班戈县| 互助| 达尔| 苗栗市| 民和| 桐柏县| 眉山市| 台东市| 加查县| 华坪县|