我使用以下代码挂起一个corutine函数:
import asyncio
async def hello5():
print('Hello5 ...')
# await asyncio.sleep(5)
print('... 5World!')
# @asyncio.coroutine
# def hello4():
# print('Hello4 ...')
# yield from asyncio.sleep(1)
# # yield from hello5()
# print('... 4World!')
async def hello4():
print('Hello4 ...')
asyncio.async(hello5())
# yield from hello5()
print('... 4World!')
loop1 = asyncio.get_event_loop()
loop1.run_until_complete(hello4())
loop1.close()
但是它不能被识别并且有以下错误
File "C:\xx\white_board_asyncio.py", line 187
asyncio.async(hello5())
^
SyntaxError: invalid syntax
我使用python3.6,所以异步应该可以工作,我想知道为什么会发生这种情况。asyncio.async不能在异步函数中使用吗?我可以在异步函数之外使用它
下面的方法很有效
loop1.run_until_complete(asyncio.async(hello5()))
我只是想知道为什么我不能在另一个corutine函数中使用它
asyncio.async
在添加async def
时在3.5中被弃用。当async
成为合适的关键字时,它在3.7中被删除。改用asyncio.ensure_future
相关问题 更多 >
编程相关推荐