«Выстрелил и забыл» python async/awaitPython

Программы на Python
Ответить
Anonymous
 «Выстрелил и забыл» python async/await

Сообщение Anonymous »

Иногда необходимо выполнить какую-то некритическую асинхронную операцию, но я не хочу ждать ее завершения. В реализации сопрограммы Tornado вы можете «запустить и забыть» асинхронную функцию, просто опустив ключевое слово yield.

Я пытался выяснить, как «запустить и забыть» с новым async/awaitСинтаксис появился в Python 3.5. Например, упрощенный фрагмент кода:

async def async_foo():
print("Do some stuff asynchronously here...")

def bar():
async_foo() # fire and forget "async_foo()"

bar()


Однако происходит следующее: bar() никогда не выполняется, и вместо этого мы получаем предупреждение во время выполнения:

RuntimeWarning: coroutine 'async_foo' was never awaited
async_foo() # fire and forget "async_foo()"


Подробнее здесь: https://stackoverflow.com/questions/372 ... sync-await
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»