On Fri, Feb 19, 2021 at 4:08 AM Guido van Rossum <gu...@python.org> wrote:
> Can you try this?
>
> async def __sleep(self):
>     await None

That didn't work*, but this does:

async def __sleep():
    return None

Was that the idea?

(*) TypeError: object NoneType can't be used in 'await' expression

>
> On Thu, Feb 18, 2021 at 22:31 Luciano Ramalho <luci...@ramalho.org> wrote:
>>
>> Follow up question: what's the plan to replace this use of
>> `@types.coroutine` in `asyncio/tasks.py`? [1]
>>
>> @types.coroutine
>> def __sleep0():
>>      """<docstring omitted>"""
>>      yield
>>
>> [1] https://github.com/python/cpython/blob/master/Lib/asyncio/tasks.py#L585
>>
>> Best,
>>
>> Luciano
>>
>> On Fri, Feb 19, 2021 at 2:31 AM Luciano Ramalho <luci...@ramalho.org> wrote:
>> >
>> > On Fri, Feb 19, 2021 at 1:59 AM Guido van Rossum <gu...@python.org> wrote:
>> > >> 1) What Python construct is to be used at the end of a chain of await
>> > >> calls, if not of a generator-based coroutine decorated with
>> > >> `@types.coroutine` and using a `yield` expression in its body?
>> >
>> > > At the end of the chain you can call the __await__() method which gives 
>> > > an iterator, and then you call next() or send() on that iterator. Each 
>> > > next()/send() call then represents an await step, and send() in general 
>> > > is used to provide an awaited result. Eventually this will raise 
>> > > StopIteration with a value indicating the ultimate result (the return 
>> > > value of the top-level async def).
>> >
>> > All right, that made sense to me. Thank you so much, Guido.
>> >
>> > Thanks for the clarification about `@types.coroutine` as well.
>> >
>> > Take care,
>> >
>> > Luciano
>> >
>> >
>> > --
>> > Luciano Ramalho
>> > |  Author of Fluent Python (O'Reilly, 2015)
>> > |     http://shop.oreilly.com/product/0636920032519.do
>> > |  Technical Principal at ThoughtWorks
>> > |  Twitter: @ramalhoorg
>>
>>
>>
>> --
>> Luciano Ramalho
>> |  Author of Fluent Python (O'Reilly, 2015)
>> |     http://shop.oreilly.com/product/0636920032519.do
>> |  Technical Principal at ThoughtWorks
>> |  Twitter: @ramalhoorg
>
> --
> --Guido (mobile)



-- 
Luciano Ramalho
|  Author of Fluent Python (O'Reilly, 2015)
|     http://shop.oreilly.com/product/0636920032519.do
|  Technical Principal at ThoughtWorks
|  Twitter: @ramalhoorg
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/4YLGMUXFPWKHQOQI4SEOM4UR2EN5MUNN/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to