Как создать асинхронный генератор в Python?

Я пытаюсь переписать этот код Python2.7 в новый асинхронный мировой порядок:

def get_api_results(func, iterable):
    pool = multiprocessing.Pool(5)
    for res in pool.map(func, iterable):
        yield res

map() блокирует, пока все результаты не будут вычислены, поэтому я пытаюсь переписать это как асинхронную реализацию, которая даст результаты, как только они будут готовы. подобноmap()возвращаемые значения должны быть возвращены в том же порядке, что иiterable, Я попробовал это (мне нужноrequests из-за устаревших требований к аутентификации):

import requests

def get(i):
    r = requests.get('https://example.com/api/items/%s' % i)
    return i, r.json()

async def get_api_results():
    loop = asyncio.get_event_loop()
    futures = []
    for n in range(1, 11):
        futures.append(loop.run_in_executor(None, get, n))
    async for f in futures:
        k, v = await f
        yield k, v

for r in get_api_results():
    print(r)

но с Python 3.6 я получаю:

  File "scratch.py", line 16, in <module>
    for r in get_api_results():
TypeError: 'async_generator' object is not iterable

Как я могу сделать это?