python asyncio add_done_callback con def asíncrono

Tengo 2 funciones: la primera,def_a, es una función asincrónica y la segunda esdef_b que es una función regular y se llama con el resultado dedef_a como una devolución de llamada con eladd_done_callback función.

Mi código se ve así:

import asyncio

def def_b(result):
    next_number = result.result()
    # some work on the next_number
    print(next_number + 1)

async def def_a(number):
    await some_async_work(number)
    return number + 1

loop = asyncio.get_event_loop()
task = asyncio.ensure_future(def_a(1))
task.add_done_callback(def_b)
response = loop.run_until_complete(task)
loop.close()

Y es un trabajo perfecto.

El problema comenzó cuando también la segunda función,def_b, se volvió asíncrono. Ahora se ve así:

async def def_b(result):
    next_number = result.result()
    # some asynchronous work on the next_number
    print(next_number + 1)

Pero ahora no puedo dárselo aladd_done_callback función, porque no es una función regular.

Mi pregunta es: ¿es posible y cómo puedo proporcionardef_b aladd_done_callback funciona sidef_b es asincrónico?

Respuestas a la pregunta(2)

Su respuesta a la pregunta