- Learning RxJava
- Thomas Nield
- 221字
- 2021-07-02 22:22:53
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.
推薦閱讀
- Go Web編程
- Learning LibGDX Game Development(Second Edition)
- Python編程自學手冊
- Access 數據庫應用教程
- SQL Server 2012數據庫技術及應用(微課版·第5版)
- Oracle數據庫從入門到運維實戰
- Python高效開發實戰:Django、Tornado、Flask、Twisted(第3版)
- 從Excel到Python:用Python輕松處理Excel數據(第2版)
- 零基礎學Python網絡爬蟲案例實戰全流程詳解(入門與提高篇)
- C#應用程序設計教程
- PySpark Cookbook
- Visual C++開發入行真功夫
- Java零基礎實戰
- Programming with CodeIgniterMVC
- Mastering VMware Horizon 7(Second Edition)