Как использовать выражение ожидания?

Не могу понять, как использовать await из 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
>>> 
10 голосов | спросил balki 27 AM00000050000000831 2015, 05:29:08

2 ответа


0

Согласно документации , await можно использовать только внутри функции сопрограммы. Поэтому правильный синтаксис для его использования должен быть

async def foo():
    pass

async def bar():
    await foo()
ответил Railslide 27 PM00000040000002231 2015, 16:32:22
0

Как и в C #, await можно использовать только в async метод (функция).

ответил Melf 28 FebruaryEurope/MoscowbSun, 28 Feb 2016 01:14:18 +0300000000amSun, 28 Feb 2016 01:14:18 +030016 2016, 01:14:18

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132