RxJava 给我们带来了什么呢?Rx是一个函数库,结合了观察者模式,迭代模式和函数是变成的精华
巴拉巴拉 一堆的好处,但是我觉得最关键的还是学与致用!说白了就是能更好的解决开发中遇到的实际问题,今天十分 自豪和高兴的分享大家一个实际开发中遇到的问题:
关键字搜索
这样做产生的结果会是什么呢?
1,可能导致很多没有意义的请求,耗费用户流量(因为控件的值每次更改一次立即就会去请求网络,但是只是最后输入的关键字是有用的) 2,可能导致用户最终的搜索结果不是用户想要的,3,例如用户输入 "sp",这时候会出现两次请求,一个请求是s关键字 一次请求是sp 关键字,请求的顺序是这样的 ‘s’ 先发出,‘sp’后发出去,如果后发出去的 ‘sp’ 先发回,那么‘s’请求后的结果将会覆盖‘sp’,从而导致搜素结果不正确
RxJava 中提供了操作符 debonce 和 RxJAva 操作符来完成
代码如下图: