Comment utiliser attendent expression?
Ne pouvais pas comprendre comment utiliser attendent à partir de python 3.5-rc2
>>> async def foo():
... pass
...
>>> await foo()
File "<ipython-input-10-a18cb57f9337>", line 1
await foo()
^
SyntaxError: invalid syntax
>>> c = foo()
>>> await c
File "<ipython-input-12-cfb6bb0723be>", line 1
await c
^
SyntaxError: invalid syntax
>>> import sys
>>> sys.version
'3.5.0rc2 (default, Aug 26 2015, 21:54:21) \n[GCC 5.2.0]'
>>> del c
RuntimeWarning: coroutine 'foo' was never awaited
>>>
J'ai vérifié PEP 0492 et qui semble comme il devrait être valide. Pourraient-ils l'ont modifiée ou quelque chose?
Peut-être qu'il a à faire partie de la certains des plus grands construction?
Avez-vous lu cela? docs.python.org/3.6/reference/compound_stmts.html#async-def
Peut-être qu'il a à faire partie de la certains des plus grands construction?
Avez-vous lu cela? docs.python.org/3.6/reference/compound_stmts.html#async-def
OriginalL'auteur balki | 2015-08-27
Vous devez vous connecter pour publier un commentaire.
Comme par la documentation,
await
ne peut être utilisé à l'intérieur d'une coroutine fonction. Donc la syntaxe correcte pour l'utilisation il fautIl ne doit pas nécessairement être une fonction, tant qu'il est un awaitable objet (c'est à dire natif et un générateur à base de coroutine ou un objet avec la méthode magique
__await__
) @balkiOriginalL'auteur Railslide
Tout comme en C#,
await
ne peut être utilisé dans unasync
méthode (fonction).OriginalL'auteur Melf