@partial(setattr, Query, '<STR_LIT>')<EOL>async def __execute_async__(self, client, auth):
gen = iter(self)<EOL>request = next(gen)<EOL>while True:<EOL><INDENT>response = await send_async(client, auth(request))<EOL>try:<EOL><INDENT>request = gen.send(response)<EOL><DEDENT>except StopIteration as e:<EOL><INDENT>return e.value<EOL><DEDENT><DEDENT>
Default asynchronous execution logic for a query,
    which uses the query's :meth:`~Query.__iter__`.
    May be overriden for full control of query execution,
    at the cost of reusability.

    .. versionadded:: 1.1

    Note
    ----
    You shouldn't need to override this method, except in rare cases
    where implementing :meth:`Query.__iter__` does not suffice.

    Parameters
    ----------
    client
        the client instance passed to :func:`execute_async`
    auth: ~typing.Callable[[Request], Request]
        a callable to authenticate a :class:`~snug.http.Request`

    Returns
    -------
    T
        the query result