扩展:由于可以在嵌套的 Observable 中添加异步代码, flatMap() 也常用于嵌套的异步操作,例如嵌套的网络请求。示例代码(Retrofit + RxJava): networkClient.token() // 返回 Observable<String>,在订阅时请求 token,并 ...
分类:
其他好文 时间:
2017-10-11 21:45:36
阅读次数:
271
var text = document.querySelector('#text'); var inputStream = Rx.Observable.fromEvent(text, 'keyup') .debounceTime(250) .pluck('target', 'value') .swi ...
分类:
Web程序 时间:
2017-09-06 22:11:29
阅读次数:
274
RxSwift 系列(三) -- Combination Operators 前言 本篇文章将要学习如何将多个Observables组合成一个Observable。Combination Operators在RxSwift中的实现有五种: startWith merge zip combineLat ...
分类:
编程语言 时间:
2017-08-25 01:21:45
阅读次数:
167
前言 Subject是一个代理,它既是Observer,也是Observable。因为它是一个Observer,它可以订阅一个或多个Observable;因为它是一个Observable,它又可以被其他的Observer订阅。它可以传递/转发作为Observer收到的值,也可以主动发射值。 Subj ...
分类:
编程语言 时间:
2017-08-25 01:18:48
阅读次数:
175
前言 本篇文章将要学习RxSwift中数学和集合操作符,在RxSwift中包括了: toArray reduce concat toArray 将一个Observable序列转化为一个数组,并转换为一个新的Observable序列发射,然后结束。 运行结果: reduce 使用一个初始值和一个操作符 ...
分类:
编程语言 时间:
2017-08-25 01:17:52
阅读次数:
186
前言 本篇文章将要学习RxSwift中连接操作符。Connectable Observable在订阅时不发射事件消息,而是仅当调用它们的connect()方法时才发射消息,这样就可以等待所有我们想要的订阅者都已经订阅了以后,再开始发出事件消息,这样能保证我们想要的所有订阅者都能接收到事件消息。其实也 ...
分类:
编程语言 时间:
2017-08-25 01:16:20
阅读次数:
236
前言 本篇文章将要学习RxSwift中四种转换操作符: map flatMap flatMapLatest scan map 通过使用一个闭包函数将原来的Observable序列转换为一个新的Observable序列。 打印结果: flatMap 将一个Observable序列转换为另一个Obser ...
分类:
编程语言 时间:
2017-08-25 01:16:03
阅读次数:
143
之前的关于观察者模式的文章,是用自己写的Observable接口和Observer接口,然后进行实现。其实官方的util包下自带有实现观察者模式对应的接口和类,可以简化我们的代码结构。 比如我们可以直接创建一个子类通过继承 util包下的Observable类来成为被观察者,这样就不用自己去写一个接 ...
分类:
其他好文 时间:
2017-08-22 14:23:09
阅读次数:
162
假设你对RxJava1.x还不是了解,能够參考以下文章。 1. RxJava使用介绍 【视频教程】 2. RxJava操作符 ? Creating Observables(Observable的创建操作符) 【视频教程】 ? Transforming Observables(Observable的转 ...
分类:
编程语言 时间:
2017-08-17 20:17:32
阅读次数:
290
一.关于观察者模式 1.将观察者与被观察者分离开来,当被观察者发生变化时,将通知所有观察者,观察者会根据这些变化做出对应的处理。 2.jdk里已经提供对应的Observer接口(观察者接口)与Observable(被观察者类)用于实现观察者模式 3.关于Observer接口,该接口只有一个updat ...
分类:
编程语言 时间:
2017-08-11 23:10:43
阅读次数:
183