将 rx.Observable 对象转换为函数中的“普通”对象的优雅方法是什么?
例如:
def foo():
return rx.Observable.just('value').subscribe(<some magic here>)
>>> print(foo())
# expected:
# value
# however get:
# <rx.disposables.anonymousdisposable.AnonymousDisposable at SOME ADDRESS>
我知道 subscribe 的返回是一个一次性对象,实现它的“丑陋”方式是:
class Foo:
def __init__(self):
self.buffer = None
def call_kernel(self):
rx.Observable.just('value').subscribe(lambda v: self.buffer = v)
def __call__(self):
self.call_kernel()
return self.buffer
>>> Foo()
# get:
# value
有没有更好的方法来做到这一点?
谢谢。