How do you create an observable that emits only one value?
The operator just emits a single item and then completes. The following code snippet returns an observable that emits a string item and then completes:
single_item = Observable.just("a single item")
How do you create an observable that emits one item from each line of a text file?
This requires an observable with some specific code logic in it, so it must be implemented with the create operator. A possible implementation of this observable is as follows:
def create_line_observable(filename):
def on_subscribe(observer):
with open('filename') as f:
lines = f.readlines()
for line in lines:
observer.on_next(line)
observer.on_completed()
return Observable.create(on_subscribe)
On subscription, this observable opens the file and reads it completely...