def create(): def func(): done[0] = True return Observable.start(func, scheduler)
def create(): def func(): raise ex return Observable.start(func, scheduler)
from rx import Observable import threading def foo(): print("foo from {}".format(threading.get_ident())) return 1 number = Observable.start(foo) print("subscribing...") number.subscribe( on_next=lambda i: print("on_next: {} from {}".format( i, threading.get_ident())), on_error=lambda e: print("error: {}".format(e)), on_completed=lambda: print("completed") )
from rx import Observable def some_func(): return 1 observer = Observable.start(some_func) observer.subscribe(print)
from rx import Observable from rx.concurrency import AsyncIOScheduler import threading import asyncio scheduler = AsyncIOScheduler() def foo(): print("foo from {}".format(threading.get_ident())) return 2 loop = asyncio.get_event_loop() done = loop.create_future() number = Observable.start(foo, scheduler=scheduler) print("subscribing...") number.subscribe( lambda i: print("on_next: {} from {}".format(i, threading.get_ident())), lambda e: print("on_error: {}".format(e)), lambda: done.set_result(0) ) print("staring mainloop from {}".format(threading.get_ident())) loop.run_until_complete(done) loop.close()