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

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.
主站蜘蛛池模板: 奎屯市| 黄龙县| 高阳县| 依兰县| 博乐市| 恩施市| 栾城县| 漳州市| 陕西省| 阿拉善盟| 衡山县| 稻城县| 龙海市| 根河市| 纳雍县| 临西县| 和硕县| 哈巴河县| 瓦房店市| 九台市| 射洪县| 阳西县| 法库县| 夏河县| 萨迦县| 青阳县| 黎川县| 咸宁市| 陆良县| 安徽省| 邻水| 绵阳市| 新竹市| 平谷区| 中阳县| 高雄市| 六盘水市| 固原市| 慈利县| 襄垣县| 会东县|