関数で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>
サブスクライブの戻りは使い捨てオブジェクトであり、これを実装する「醜い」方法は次のとおりであることを理解しています。
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
これを行うより良い方法はありますか?
ありがとう。