python:rxpy 使用async协程
- 2019 年 11 月 22 日
- 笔记
终于弄清怎么在rxpy中使用flat_map调用协程了,直接上代码
import asyncio from rx import Observable def warp_future(func): def inner(arg): future = asyncio.ensure_future(func(arg)) return Observable.from_future(future) return inner async def main(): async def add(args): return args[0] + args[1] s1 = Observable.of(1, 3, 5) s2 = Observable.of(2, 4, 6) stream = Observable.zip_array(s1, s2) .flat_map(warp_future(add)) .where(lambda x: x > 3) .map(lambda x: print(x)) await stream loop = asyncio.get_event_loop() loop.run_until_complete(main()) loop.close()