如何在Python的rx(反应性)管道中检索可观察的集合?

问题描述 投票:0回答:1

我正在使用rx从几个来源创建类似的加载。

rx.from_list(files).pipe(
        ops.map(lambda file: self._dataflow()),
        ops.subscribe_on(pool_scheduler)
    ).subscribe(on_next=lambda file: print(file),
                on_error=print,
                on_completed=lambda: print("PROCESS done!"))

我希望我的map函数返回可观察的对象,该对象是_dataflow()函数的返回类型。如果仅使用_dataflow()而不是ops.map(lambda file: self._dataflow()),它可以正常工作,但是,我想使用一些条件,即对于file中的任何files,我都将选择类似_dataflow()的功能。如何解决此问题?

python system.reactive
1个回答
0
投票

如果我对您的理解很好,那么您在merge运算符中最接近的选择:

list=rx.from_list(["set1_file1","set1_file2","set2_file1","set2_file2"])

rx.merge(list.pipe(ops.filter(lambda x:"set1" in x),ops.map(lambda x:x+" from list1 printed")),list.pipe(ops.filter(lambda x:"set2" in x),ops.map(lambda x:x+" from list2 printed"))).subscribe(lambda x:print(x))

用所需的映射功能替换lambda。

© www.soinside.com 2019 - 2024. All rights reserved.