como posso mapear / filtrar assincronamente um iterável assíncrono?
Digamos que eu tenha um iterável assíncrono que eu possa deixar passar usandoasync for
, como posso mapear e filtrar para um novo iterador assíncrono? O código a seguir, que é uma adaptação de como eu faria a mesma coisa com um iterável síncrono, não funciona, poisyield
não é permitido dentroasync def
s.
async def mapfilter(aiterable, p, func):
async for payload in aiterable:
if p(payload):
# This part isn't allowed, but hopefully it should be clear
# what I'm trying to accomplish.
yield func(payload)