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

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.

主站蜘蛛池模板: 茌平县| 砀山县| 渑池县| 磐石市| 昭觉县| 翁牛特旗| 湖南省| 福海县| 佛坪县| 临泉县| 贡山| 额尔古纳市| 周口市| 如东县| 嘉黎县| 武义县| 西华县| 启东市| 威远县| 高淳县| 桦川县| 中牟县| 东城区| 眉山市| 桓台县| 谢通门县| 邹城市| 榆林市| 永寿县| 平顺县| 陕西省| 诏安县| 抚州市| 宁南县| 灯塔市| 盘山县| 泰顺县| 凌海市| 青州市| 闽侯县| 霍林郭勒市|