Hot and cold observables

In the preceding section, we learned how to create an observable using the Observable.from_iterable method. RxPy provides many other tools to create more interesting event sources.

Observable.interval takes a time interval in milliseconds, period, and will create an observable that emits a value every time the period has passed. The following line of code can be used to define an observable, obs, that will emit a number, starting from zero, every second. We use the take operator to limit the timer to four events:

    obs = Observable.interval(1000)    obs.take(4).subscribe(print)    # Output:    # 0    # 1    # 2    # 3

A very important fact about Observable.interval is that the timer doesn't start until we subscribe. We can observe this ...

Get Advanced Python Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.