import typing
import asyncio


async def exec_as_aio(
    blocking_fn: typing.Callable[..., typing.Any], *args: typing.Any
) -> typing.Any:
    """Asynchronously run blocking functions or methods.

    Args:
        blocking_fn (Callable[..., Any]): The blocking function/method.

    Returns:
        Any: The return value of the blocking function/method.
    """
    loop = asyncio.get_running_loop()
    return await loop.run_in_executor(None, blocking_fn, *args)