返回立即值然后调用 asyncio.sleep
Returning immediate value and then call asyncio.sleep
我需要这个练习的帮助,我有这个功能:
async def check_name(self):
await asyncio.sleep(5)
if SOmeFunction():
DoSomethng
else:
DosomethingElse
现在我想在其他函数中调用上面的函数,但问题是我想要下面的函数return一个立即值,然后调用check_name()。这是我到目前为止所做的(我想添加 try.. 最后但它没有用它首先调用 check_name 然后等待 5 秒然后它是 returning 实际值. 我想先 return 值然后调用 check_name()
async def func():
value = func2()
try:
return value
finally:
await self.check_name()
您可以使用 asyncio.create_task
指示事件循环等待 check_name
本身,即在后台 运行 它:
async def func():
asyncio.create_task(self.check_name())
value = func2()
请注意,如果您这样做,check_name()
的 return 值将不可用,如果它引发异常,它只会被事件循环报告。
我需要这个练习的帮助,我有这个功能:
async def check_name(self):
await asyncio.sleep(5)
if SOmeFunction():
DoSomethng
else:
DosomethingElse
现在我想在其他函数中调用上面的函数,但问题是我想要下面的函数return一个立即值,然后调用check_name()。这是我到目前为止所做的(我想添加 try.. 最后但它没有用它首先调用 check_name 然后等待 5 秒然后它是 returning 实际值. 我想先 return 值然后调用 check_name()
async def func():
value = func2()
try:
return value
finally:
await self.check_name()
您可以使用 asyncio.create_task
指示事件循环等待 check_name
本身,即在后台 运行 它:
async def func():
asyncio.create_task(self.check_name())
value = func2()
请注意,如果您这样做,check_name()
的 return 值将不可用,如果它引发异常,它只会被事件循环报告。