Если у меня есть следующие:Закрытие подзадачи запущен с asyncio.ensure_future
async def foo():
for i in range(10):
print "1"
await asyncio.sleep(1)
async def bar()
t = asyncio.ensure_future(foo())
while not t.done():
print("waiting")
await asyncio.sleep(0.5)
async def baz():
t = asyncio.ensure_future(bar())
await asyncio.sleep(2.5)
t.cancel()
baz()
И называется в большом цикле обработки событий, как я могу убедиться, что Foo() отменяется?
Я предполагаю, что я пропустил это требование - я также хотел бы вызвать любые исключения, вызванные подзадачей, которые будут выбрасываться в текущую задачу. – Eric
@Eric. Тогда почему бы просто не использовать 'await task' или' await foo() ' ? – Vincent
Потому что я хочу посмотреть другие вещи и отменить задачу раньше – Eric