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

Observable.range()

To emit a consecutive range of integers, you can use Observable.range(). This will emit each number from a start value and increment each emission until the specified count is reached. These numbers are all passed through the onNext() event, followed by the  onComplete() event:

    import io.reactivex.Observable;

public class Launcher {
public static void main(String[] args) {
Observable.range(1,10)
.subscribe(s -> System.out.println("RECEIVED: " + s));

}
}

The output is as follows:

    RECEIVED: 1
RECEIVED: 2
RECEIVED: 3
RECEIVED: 4
RECEIVED: 5
RECEIVED: 6
RECEIVED: 7
RECEIVED: 8
RECEIVED: 9
RECEIVED: 10

Note closely that the two arguments for Observable.range() are not lower/upper bounds. The first argument is the starting value. The second argument is the total count of emissions, which will include both the initial value and incremented values. Try emitting Observable.range(5,10), and you will notice that it emits 5 followed by the next nine consecutive integers following it (for a grand total of 10 emissions):

    import io.reactivex.Observable;

public class Launcher {
public static void main(String[] args) {
Observable.range(5,10)
.subscribe(s -> System.out.println("RECEIVED: " + s));

}
}

The output is as follows:

    RECEIVED: 5
RECEIVED: 6
RECEIVED: 7
RECEIVED: 8
RECEIVED: 9
RECEIVED: 10
RECEIVED: 11
RECEIVED: 12
RECEIVED: 13
RECEIVED: 14
Note that there is also a long equivalent called Observable.rangeLong() if you need to emit larger numbers.
主站蜘蛛池模板: 辽宁省| 霍林郭勒市| 湾仔区| 吴桥县| 高陵县| 上饶县| 山阴县| 兰考县| 浦县| 安塞县| 闸北区| 忻城县| 盐池县| 车险| 社会| 襄汾县| 静安区| 湖北省| 南召县| 九江县| 铅山县| 庐江县| 吴江市| 东台市| 磐石市| 新竹市| 都兰县| 福贡县| 长沙市| 砚山县| 尉氏县| 上杭县| 苏尼特右旗| 科尔| 长顺县| 新建县| 河西区| 建水县| 荥阳市| 运城市| 安远县|